您的位置:首页 > 其它

进制转换(十进制转二进制)

2016-12-01 09:17 162 查看
问题及代码:

Description

输入一个非负整数(十进制),输出此整数对应的二进制数

Input

正整数(十进制)

Output

对应的二进制数

Sample Input

6

Sample Output

110


/*
烟台大学计算机与控制工程学院
冯琬淇
问题:输入一个非负整数(十进制),输出此整数对应的二进制数
*/
#include <stdio.h>
#include <stdlib.h>

int main()
{
int i,n,j;
int a[10];
scanf("%d",&n);
i=0;
while(n)
{
a[i]=n%2;
n=n/2;
i++;
}
if(i>0)i--;
for(j=i;j>=0;j--)
printf("%d",a[j]);
return 0;
}


运行结果:



参考:



总结与心得:

对于i有一个初始值,while(n)的意思是 while(n!=0) 将输入数字除以2的余数依次存储到a[i]中,再依次把n定义为新的被除数 循环 i-1是因为前一步已经算出的使循环停止的i为跳出循环的越界的i,所以再进行倒叙循环时,要把i变回界内最大的i,所以需要i-- 再利用循环倒叙输出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: