输出结果如何别显示,请老师们帮忙看看。谢谢!!
如下一段代码:#include <stdio.h>
int main()
{
int number;
printf("输入一个整数:");
while (scanf("%d", &number))
{
int a[16] = {0};
int i = 0, n = 0;
while(number)
{
a[i++] = number%2;
number /= 2;
}
for (i--; i>=0; i--)
{
printf("a[%d]=%d ", n++, a[i]);
}
printf("\n");
}
return 0;
}
运行是正确的,比如输入一个18.显示的是:
a[0]=1 a[1]=0 a[2]=0 a[3]=1 a[4]=0,
这里其值为0 和为1的值都显示在一排了,如何修改使其为0的值和为1的值分开来显示,就如同这样:
a[1]=0 a[2]=0 a[4]=0
a[0]=1 a[3]=1
同时对应的a[i]还不能错,再举个例:
输入144
要显示如下就好了:
a[1]=0 a[2]=0 a[4]=0 a[5]=0 a[6]=0 a[7]=0
a[0]=1 a[3]=1