c语言输入一个十进制数,转换成对应的二进制
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void reverse(char a[])
{
int n = strlen(a);
int i=0;
int j = n-1;
char t;
while(i<j)
{
t = a[i];
a[i] = a[j];
a[j] = t;
i = i+1;
j--;
}
return;
}
void my_itoa(int x,char a[],int n)
{
int i=0;
while(x>0)
{
a[i]=x%n+'0';
x = x/n;
i = i+1;
}
if(i==0)
{
a[i]='0';
i = i+1;
}
a[i]='\0';
reverse(a);
}
void dtob(int n)
{
char a[124];
my_itoa(n,a,2);
printf("%sb\n",a);
return;
}
int main()
{
int n;
while(scanf("%d",&n) != EOF)
{
dtob(n);
}
}
#include<string.h>
#include<stdlib.h>
void reverse(char a[])
{
int n = strlen(a);
int i=0;
int j = n-1;
char t;
while(i<j)
{
t = a[i];
a[i] = a[j];
a[j] = t;
i = i+1;
j--;
}
return;
}
void my_itoa(int x,char a[],int n)
{
int i=0;
while(x>0)
{
a[i]=x%n+'0';
x = x/n;
i = i+1;
}
if(i==0)
{
a[i]='0';
i = i+1;
}
a[i]='\0';
reverse(a);
}
void dtob(int n)
{
char a[124];
my_itoa(n,a,2);
printf("%sb\n",a);
return;
}
int main()
{
int n;
while(scanf("%d",&n) != EOF)
{
dtob(n);
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2015-02-27
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num;
printf("Enter a number:\n");
scanf("%d",&num);
int i;
int a[6]={0};
int k;
int j;
for(i=0;i<=5;i++)
{
a[i]=num%2;
j=num/2;
num=j;
}
int p;
printf("Result:\n");
for(p=5;p>=0;p--)
{
printf("%d",a[p]);
}
return 0;
}
#include <stdlib.h>
int main()
{
int num;
printf("Enter a number:\n");
scanf("%d",&num);
int i;
int a[6]={0};
int k;
int j;
for(i=0;i<=5;i++)
{
a[i]=num%2;
j=num/2;
num=j;
}
int p;
printf("Result:\n");
for(p=5;p>=0;p--)
{
printf("%d",a[p]);
}
return 0;
}