永发信息网

C语言,输入一个字符,输出这个字符的二进制中包含多少个1

答案:3  悬赏:40  手机版
解决时间 2021-03-22 10:19
  • 提问者网友:椧運幽默
  • 2021-03-21 09:57
C语言,输入一个字符,输出这个字符的二进制中包含多少个1
最佳答案
  • 五星知识达人网友:纵马山川剑自提
  • 2021-03-21 10:53
#include <stdio.h>
int main()
{
char str[100];
int i,n=0;
scanf("%s",str);
for(i=0;str[i]!='\0';i++)
{
if(str[i]=='1' || str[i]=='0') //判断第i个字符是否是'1'或'0',如果是执行下面语句
{
n<<=1; //把已经得到的n值左移1位,等同于乘以2
n+=str[i]-'0'; //字符'1'减去'0'就等于1,字符'0'减去'0'当然是0,所以这句的意思是把第i个字符所对应的数加到n上去
}
else
{
printf("不是二进制数\n");
return 1;
}
}
printf("%d\n",n);
}
全部回答
  • 1楼网友:行路难
  • 2021-03-21 12:45
#include <stdio.h> int main() {     int c;     int cnt=0;     c=getchar();     while(c)     {         if(c&1) cnt++;         c>>=1;     }     printf("%d\n",cnt);     return 0; }
  • 2楼网友:舍身薄凉客
  • 2021-03-21 11:58
#include int main() { char s[2], ch; scanf("%s", s); ch = s[0]; int count = 0; while(ch>0) { if(ch&1) count++; ch>>=1; } printf("%d\n", count); return 0; }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯