输入一个正整数计算其是几位数,并分别统计出各个位数中有几个奇数,几个偶数,C语音
时间: 2024-10-25 22:03:20 浏览: 4
在C语言中,你可以通过以下几个步骤实现这个功能:
1. 首先,你需要从用户那里输入一个正整数。可以使用`scanf`函数获取用户的输入。
2. 然后,创建一个变量存储数字的位数,初始化为0。遍历每一位,每次将数字除以10取余数,直到余数为0。每除一次就增加位数计数器。
3. 对于每一位,判断它是奇数还是偶数。如果余数是1,那么它是奇数;如果是0或2到9,它是偶数。同时增加对应的奇数和偶数计数器。
4. 最后,输出各个位数的数量以及其中奇数和偶数的具体数目。
下面是一个简单的示例代码片段:
```c
#include <stdio.h>
int main() {
int num, digit_count = 0, odd_count = 0, even_count = 0;
printf("请输入一个正整数: ");
scanf("%d", &num);
while (num != 0) {
digit_count++;
if (num % 10 == 1 || num % 10 == 3 || num % 10 == 5 || num % 10 == 7 || num % 10 == 9) {
odd_count++;
} else {
even_count++;
}
num /= 10;
}
printf("数字有%d位,其中有%d个奇数,%d个偶数.\n", digit_count, odd_count, even_count);
return 0;
}
```
阅读全文