十进制整数转换为二进制整数采用除2取余,逆序排列法
当时我最烦的是这个逆序输出,随着不断的学习,掌握到一些逆序输出的方法。操作数组就是一种很好的方法
如下:
//十进制转换二进制
#include
#include
int main(void)
{
printf("Please enter decimal integer:");
int dec,i,a[50];
scanf("%d",&dec);
for(i=0;dec>0;dec/=2,i++)
{
a[i]=dec%2;//将余数正向存入数组
}
i--;
printf("Binary is ");
for(;i>=0;i--)//反向输出数组
{
printf("%d",a[i]);
}
system("pause");
return 0;
}
当然,如果想实现多组输入输出,可将其嵌套在一个循环里
//十进制转换二进制
#include
#include
int main(void)
{
printf("Please enter decimal integer:");
int dec,a[50],i;
while(scanf("%d",&dec))
{
for(i=0;dec>0;dec/=2,i++)
{
a[i]=dec%2;
}
i--;
printf("Binary is ");
for(;i>=0;i--)
{
printf("%d",a[i]);
}
printf("\nPlease enter decimal integer:");
}
system("pause");
return 0;
}
作为一枚初学者,欢迎各位大佬指出错误。