编程怎么统计0和1

时间:2025-03-03 08:49:43 明星趣事

要统计一个整数中0和1的个数,可以使用位运算的方法。以下是一个简单的方法:

```c

include

void count(int x) {

int count0 = 0, count1 = 0;

while (x) {

if (x % 10 == 1) {

count1++;

}

if (x % 10 == 0) {

count0++;

}

x = x / 10;

}

printf("1的个数为: %d\n", count1);

printf("0的个数为: %d\n", count0);

}

int main() {

int data;

printf("请输入一个整数: ");

scanf("%d", &data);

count(data);

return 0;

}

```

这个程序首先定义了一个`count`函数,该函数接受一个整数`x`作为参数。在函数内部,我们使用一个循环来逐位检查`x`的每一位。如果某一位是1,我们就增加`count1`的值;如果某一位是0,我们就增加`count0`的值。最后,我们打印出1和0的个数。

在`main`函数中,我们从用户那里获取一个整数,并调用`count`函数来统计1和0的个数。

这个方法的时间复杂度是O(log n),其中n是输入整数的位数。这是因为我们需要检查整数的每一位。