永发信息网

{int a,b[10],c,i=0; printf(“输入一个整数\n”); scanf(“%d”,&a); while(a!=0) {c=a%2; a=a/2; b[i]=c;

答案:2  悬赏:50  手机版
解决时间 2021-03-12 05:26
  • 提问者网友:趣果有间
  • 2021-03-11 16:05
i++;}
for(;i>0;i--)printf(“%d”,b[i-1]);}结果是什么 详细过程
最佳答案
  • 五星知识达人网友:话散在刀尖上
  • 2021-03-11 17:26
输出结果应该是a的二进制输出,这是手动求其二进制的。
比如初值a=6;则第一轮:c = 6%2 = 0,a = 6/2 = 3,b[0] = 0;
第二轮:c = 3%2 = 1,a = 3/2 = 1,b[1] = 1;
第三轮:c = 1%2 = 1;a = 1/2 = 0;b[2] = 1;
此时a=0,退出循环,数组b为011;逆序输出则为110,而a初始值6的二进制就是110,所以这是a的二进制输出,希望对楼主有帮助
全部回答
  • 1楼网友:天凉才是好个秋
  • 2021-03-11 18:50
int a,b,c=0; for(a=10;a>=2;a--)//a取值从10到1,只运行到a=2,运行后的结果就是a=1,所以这句共运行了9次 for(b=0;b<=3;b++);//这里应该有个")"号,b取值从0到4,只运行到b=3,运行后的结果就是b=4,这句共运行了4次 c++;//每次加1,加了36次 printf("%d\n",c)//最后的结果就是9*4=36
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯