#include

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

相关推荐

点赞 评论 收藏
分享
流岚噗噗:肯定直接说第一啊,网上的身份都是自己给的好吧
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务