// 请编程, 输入一个整数,输出它的二进制数中1和0的个数。 #include int main() { int inputNum; int temp = 0, zeroCnt = 0, oneCnt = 0; printf("请输入一个整数: "); scanf("%d", &inputNum); for (int i = 0; temp < inputNum; i++) { temp = 1 << i; // if ((inputNum & temp) == temp) // oneCnt++; // else if ((inputNum | ~temp) == ~temp) // zeroCnt++; if (inputNum & temp) oneCnt++; else zeroCnt++; } printf("%d 的二进制中 1 有 %d 个, 0 有 %d 个", inputNum, oneCnt, zeroCnt); return 0; }