C语言编程【问题描述】 判断一个由a z这26个字符组成的字符串中哪个字符出现的次数最多。【样例输入】 2 abbccc adfadffasdf 【样例输出】 c 3 f 4
时间: 2024-02-25 19:57:00 浏览: 24
以下是一个 C 语言程序,实现了你的需求:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 1000 // 定义最大字符串长度
int main() {
char s[MAX_LEN + 1]; // 定义字符串 s
int count[26] = {0}; // 统计每个字符出现的次数
int n;
scanf("%d", &n); // 输入字符串数量
while (n--) {
scanf("%s", s); // 输入字符串 s
int len = strlen(s); // 获取字符串 s 的长度
// 统计每个字符出现的次数
for (int i = 0; i < len; i++) {
count[s[i] - 'a']++;
}
}
// 找出出现次数最多的字符
char max_char = 'a';
int max_count = count[0];
for (int i = 1; i < 26; i++) {
if (count[i] > max_count) {
max_char = 'a' + i;
max_count = count[i];
}
}
// 输出出现次数最多的字符和次数
printf("%c %d\n", max_char, max_count);
return 0;
}
```
这个程序的思路是先定义一个数组 `count`,用来统计每个字符出现的次数。然后依次输入每个字符串,遍历字符串中的每个字符,更新 `count` 数组。最后再遍历一遍 `count` 数组,找到出现次数最多的字符即可。