#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;
}
全部评论

相关推荐

04-13 18:10
门头沟学院 Java
想熬夜的小飞象在秋招:被腾讯挂了后爸妈以为我失联了
点赞 评论 收藏
分享
04-10 11:56
如皋中学 Java
高斯林的信徒:双c9能简历挂的?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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