100 小南刚学了二进制,他想知道一个数的二进制表示中有多少个1,你能帮他写一个程序来完成这个任务吗?

#include<stdio.h>
int main()
{
int i,n;
scanf("%d",&n);
for(i=0;i<n;i++)
{
int j=0,m,t;
scanf("%d",&m);
while(m)
{
  t=m%2;
if(t==0)
m=m/2;
else
{ j++;
  m=m>>1; }
}
printf("%d\n",j);
}
return 0;
}

posted @ 2013-06-07 22:25  融雪残阳  阅读(564)  评论(0编辑  收藏  举报