厦门城乡建设局网站,黑彩网站怎么建设,怎么开网站平台挣钱,wordpress主题带手机版描述 小南刚学了二进制#xff0c;他想知道一个数的二进制表示中有多少个1#xff0c;你能帮他写一个程序来完成这个任务吗#xff1f; 输入 第一行输入一个整数N#xff0c;表示测试数据的组数(1 N1000) 每组测试数据只有一行#xff0c;是一个整数M(0 M…描述 小南刚学了二进制他想知道一个数的二进制表示中有多少个1你能帮他写一个程序来完成这个任务吗 输入 第一行输入一个整数N表示测试数据的组数(1 N1000) 每组测试数据只有一行是一个整数M(0 M10000) 输出 每组测试输出占一行输出M的二进制表示中1的个数 样例输入 3 4 6 7 样例输出 1 2 3
代码如下
#include stdio.h int main() { int n,x,y; scanf(“%d”,n);//n组数据 while(n–) { y0;//这里的y起计数的作用 scanf(“%d”,x);//输入一个十进制的数 while(x)//当那个数小于等于0的时候结束循环 { if(x%21)//由于要转换成二进制要想有1的出现即每次都取余余数为1即可 y;//进行判断出现余数为1y xx/2;//如果没有的话由于是转换成二进制所以直接除以2即可 } printf(“%d\n”,y);最后输出y的数值即可 } return 0; }