输入一行由数字组成的字符串(0~9),输出其中出现次数最多的数字与其出现的次数。c语言
时间: 2024-12-12 19:18:08 浏览: 36
在 C 语言中,你可以通过以下几个步骤来实现这个功能:
1. 首先,声明一个数组存储每个数字及其对应的计数,以及一个变量用于跟踪最大次数和最常见的数字。
2. 使用 `scanf` 函数读取输入的字符串,并遍历字符串中的每一个字符。
3. 对于每一个字符,检查它是否是一个有效数字(即 '0' 到 '9')。如果不是,跳过它;如果是,则更新相应数字的计数。
4. 比较当前数字的计数与之前的最大次数,如果大于最大次数,更新最大次数并记录下这个数字。
5. 遍历结束后,打印出出现次数最多和出现次数的数字。
下面是一个简单的示例代码片段:
```c
#include <stdio.h>
#include <string.h>
#define COUNTS 10 // 数字数组长度
int main() {
char input[100];
int counts[COUNTS] = {0}, max_count = 0;
char most_common;
printf("请输入由数字组成的一行字符串: ");
fgets(input, sizeof(input), stdin);
// 转换末尾的换行符
input[strcspn(input, "\n")] = '\0';
for (int i = 0; input[i]; ++i) {
if (input[i] >= '0' && input[i] <= '9') {
int num = input[i] - '0';
counts[num]++;
if (counts[num] > max_count) {
max_count = counts[num];
most_common = num;
}
}
}
printf("出现次数最多的数字是 %d,出现了 %d 次.\n", most_common, max_count);
return 0;
}
```
阅读全文