C语言中5%2等于多少,b[i-1]=101?

2024-11-06 12:36:07
推荐回答(4个)
回答(1):

5%2就是5除以2的余数,等于1

scanf输入5,[a=5]

a!=0成立,开始循环: c=a%2;[c=5%2=1],a=a/2;[a=2],b[i]=c;[b[0]=1],i++;[i=1]

a!=0成立,继续循环: c=a%2;[c=2%2=0],a=a/2;[a=1],b[i]=c;[b[1]=0],i++;[i=2]

a!=0成立,继续循环: c=a%2;[c=1%2=1],a=a/2;[a=0],b[i]=c;[b[2]=1],i++;[i=3]

a!=0不成立,结束循环

for循环顺序输出b[2],b[1],b[0]: 101 即十进制5的二进制表示

回答(2):

这是一个把输入的十进制数转换为二进制数并输出的程序。只有当你输入为1时,程序的输出才是1。

#include

void main()

{ int a,b[10],c,i=0;

  printf("输入一个整数\n");

  scanf("%d",&a);

  while(a!=0)

  { c=a%2; //计算a除以2的余数 

    a=a/2; //去掉二进制的最低位 

    b[i]=c; //把余数保存到数组 

    i++;

  }

  for(; i>0; i--)printf("%d",b[i-1]); //逆序输出每次的余数 

}

回答(3):

5%2取余等于1
While第一轮:c=1,a=2,b[0]=1,i=1
While第二轮:c=0,a=1,b[1]=0,i=2
While第三轮:c=1,a=0,b[2]=1,i=3
此时a=0,结束循环
输出为b[2]b[1]b[0]
所以是101

回答(4):

5%2 = 1 ;这个取余数的,