#include <stdio.h>

int main (void)
{
    int i;
    int j=0;
    int a[32];
    int n=0;
    while (scanf("%d", &i) != EOF)  /*一直输入i*/
    {
        n=0;                  /*每次转换初始化参数*/
        j=0;
        while  (i>=2)
        {
            a[j]=i%2;
            if (a[j]==1) n++;       
            i=i/2;
            j++;

        }

      n++;  //上述i>=2,i/2后>=1,从while出来后 是i<2 所以i只能为1 要放在最高位
      printf ("%d\r\n",n);     /*回车换行*/   

    }    
    return 0;
}
全部评论

相关推荐

05-29 22:11
门头沟学院 Java
Elastic90:抛开学历造假不谈,这公司的招聘需求也挺怪的,Java开发还要求你有图文识别、移动端开发和c++的经验,有点逆天了。
点赞 评论 收藏
分享
小叮当411:应该是1-3个月吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务