C语言求整数中0的个数和最大位数
时间: 2024-01-29 21:01:56 浏览: 32
以下是求整数中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语言求整数中0的个数和最大的位数
以下是求整数中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。
统计所有三位正整数中个位数和十位数之和与百位数的积是28的数的个数,c语言
#include <stdio.h>
int main() {
int count = 0;
for (int i = 100; i < 1000; i++) {
int units_digit = i % 10; // 个位数
int tens_digit = (i / 10) % 10; // 十位数
int hundreds_digit = i / 100; // 百位数
if ((units_digit + tens_digit) * hundreds_digit == 28) {
count++;
}
}
printf("个位数和十位数之和与百位数的积是28的数的个数为%d", count);
return 0;
}