题解 | #查找输入整数二进制中1的个数#
查找输入整数二进制中1的个数
https://www.nowcoder.com/practice/1b46eb4cf3fa49b9965ac3c2c1caf5ad
#include <stdio.h> #include <stdlib.h> #include <math.h> #include <string.h> int main() { unsigned long n[10], num; int i, k , j, l = 0; while (scanf("%lu\n", &num) == 1) { n[l] = num; l++; } l = l - 1; for (i = 0; i <= l; i++) { for(k=0;n[i]!=0;n[i]=n[i]/2) { if(n[i]%2==1) { k++; } else continue; } printf("%d\n",k); } } 这里先使用scanf函数读取输入,并通过条件判断输入是否为0;并赋值给数组存下来,之后利用两层循环利用除二取余计算每个数二进制1的个数。#位运算##除二取余#