十进制数
转换成
二进制数
输出
#include
//
头文件
void
main()
{
int
a,b[10],c,i=0
//
a存储待转换的十进制数,b[10]存储转换后的二进制位,
//
c
是存储
,
printf("输入一个整数\n")
scanf("%d",&a)
//
输入需转换的十进制数
while(a!=0)
//
只要a不为零,就继续转换
{
c=a%2
//
把a除以2
的余数赋值给c
a=a/2
//
把商存入a进行下一次循环
b[i]=c
//
把余数存到数组中作为二进制中的一位
i++
}
for(i>0i--)
printf("%d",
b[i-1])
//反向输出余数,即得到二进制
例如输入4
因为4
!=
0
4
/
2
=
2((商=a)...........0(余数=c=b[0])
因为2
!=
0
2
/
2
=
1((商=a)...........0(余数=c=b[1])
因为1
!=
0
1
/
2
=
0((商=a)...........1(余数=c=b[2])
因为
0
=
0
结束循环输出
b[2]
b[1]
b[0]
即
100,也就是二进制的
4
lampa是定义一个全局变量,该变量在定义行之后的源程序的任何一个地方都可以使用。对于你这个程序,变量a只在mian函数中使用,其实完全可以把lampa,这句放在main函数中的第一句,while(1)这句之前。刚刚开始第一次for循环,i=2,n=0进入do-while循环,i%3为非零,continue。到while处判断,!i为零,跳出do-while循环。
n++,第一次for循环结束,i++
刚刚开始第二次for循环,i=3,n=1
进入do-while循环,i%3为零,执行n++。到while处判断,!i为零,跳出do-while循环。
n++,第二次for循环结束,i++
刚刚开始第三次for循环,i=4,n=3
进入do-while循环,i%3为非零,continue。到while处判断,!i为零,跳出do-while循环。
n++,第三次for循环结束,i++
刚刚进入第四次for循环,i=5,n=4。这时i<5为零,跳出for循环。
输出n,n=4。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)