C语言求整数中0的个数和最大的位数
时间: 2024-01-26 16:03:24 浏览: 22
以下是求整数中0的个数和最大的位数的C语言程序:
```c
#include <stdio.h>
int main() {
int n, count = 0, max_digit = 0;
printf("请输入一个整数:");
scanf("%d", &n);
while (n > 0) {
int digit = n % 10;
if (digit == 0) {
count++;
}
if (digit > max_digit) {
max_digit = digit;
}
n /= 10;
}
printf("整数中0的个数为:%d\n", count);
printf("最大的位数为:%d\n", max_digit);
return 0;
}
```
程序的思路是:输入一个整数n,然后依次取出n的各个位数,判断是否为0,并统计0的个数。同时,记录下最大的位数。最后输出0的个数和最大的位数。
注意,程序中的变量count和max_digit需要初始化为0。
相关问题
C语言求整数中0的个数和最大位数
以下是求整数中0的个数和最大位数的C语言代码:
```c
#include <stdio.h>
int main() {
int n, zeros = 0, max_digit = 0;
printf("请输入一个整数:");
scanf("%d", &n);
while (n != 0) {
int digit = n % 10;
if (digit == 0) {
zeros++;
}
if (digit > max_digit) {
max_digit = digit;
}
n /= 10;
}
printf("0的个数为:%d\n", zeros);
printf("最大位数为:%d\n", max_digit);
return 0;
}
```
该程序首先要求用户输入一个整数,然后使用while循环遍历整数的每一位数。在循环中,程序使用模运算(n % 10)获取当前位数,并判断该位数是否为0或是当前的最大位数。如果该位数为0,则将zeros变量加1;如果该位数大于当前的最大位数,则将max_digit变量更新为该位数。最后,程序输出0的个数和最大位数。
c语言统计正整数负整数和零的个数
可以通过循环输入数字并判断正负性,最后统计个数来实现:
```c
#include <stdio.h>
int main() {
int num, pos_count = 0, neg_count = 0, zero_count = 0;
printf("输入数字(输入0结束):\n");
do {
scanf("%d", &num);
if (num > 0) {
pos_count++;
} else if (num < 0) {
neg_count++;
} else {
zero_count++;
}
} while (num != 0);
printf("正整数个数:%d\n", pos_count);
printf("负整数个数:%d\n", neg_count);
printf("零的个数:%d\n", zero_count);
return 0;
}
```
这段代码中,我们通过do-while循环不断输入数字并判断正负性,直到输入0为止。然后我们根据判断结果统计正整数、负整数和零的个数,最后输出统计结果。