编写函数,实现统计和输出一个正整数中各位数字中零的个数,及各位数字中最大者C语言
时间: 2024-12-20 12:17:56 浏览: 8
C语言程序设计100个经典例子.pdf
在C语言中,你可以编写一个函数来完成这个任务。这里有一个简单的例子,它会接收一个正整数作为输入,并返回两个值:零的个数以及各位数字中的最大值。
```c
#include <stdio.h>
// 函数声明,接受一个int类型的参数并返回一个包含两个int的结构体
typedef struct {
int zeros;
int max_digit;
} Result;
// 函数实现,计算输入数字中零的数量和最大非零数字
Result count_zeros_and_max(int num) {
Result result = {0, 0};
int digit;
// 分离每一位数字
while (num != 0) {
digit = num % 10; // 取个位
num /= 10; // 移除个位
// 如果是零,增加零计数
if (digit == 0) {
result.zeros++;
}
// 否则,更新最大非零数字
else if (result.max_digit < digit) {
result.max_digit = digit;
}
}
return result;
}
// 主函数展示结果
void display_results(Result res) {
printf("Number of zeros: %d\n", res.zeros);
printf("Max digit: %d\n", res.max_digit);
}
int main() {
int input_num;
printf("Enter a positive integer: ");
scanf("%d", &input_num);
Result results = count_zeros_and_max(input_num);
display_results(results);
return 0;
}
```
在这个程序中,`count_zeros_and_max`函数首先初始化结果结构体,然后通过循环遍历输入数字的每一位,统计零的数量和找到最大非零数字。最后,在`display_results`函数中打印这两个值。
阅读全文