题解 | #查找输入整数二进制中1的个数#

查找输入整数二进制中1的个数

http://www.nowcoder.com/practice/1b46eb4cf3fa49b9965ac3c2c1caf5ad

思路

  1. 有多组输入使用while(scanf("%d",&val) != EOF)进行循环输入
  2. 获得输入值和2取余数,为1则将计数器++
  3. 同时更新val的值
  4. 当val为1时,计数器增加1,循环结束

Answer

#include<stdio.h>

int main()
{
    
    int val;
    while(scanf("%d",&val) != EOF){
        int cnt=0;
        while(1){
            
            if(val % 2==1){
                cnt++;
            }
            val /= 2;
            if(val==1){
                cnt++;
                break;
            }
        }
        printf("%d\n",cnt);
        
        
    }
    
    return 0;
}
全部评论

相关推荐

穿件外套出门:这简历一眼太水了,前面有的没的直接删,写项目亮点
点赞 评论 收藏
分享
评论
4
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务