#include #include #include /* * 函数功能:统计字符串中出现次数最多的字母,并输出该字母。 * 参数说明: * a[] - 输入的字符串,用于统计其中字母的出现次数。 * 返回值:无返回值。 */ void fun(char a[]) { int b[26], i, n, max; // 初始化数组b,用于记录每个字母的出现次数(a-z对应索引0-25) for (i = 0; i < 26; i++) /**********found**********/ b[i] = 0; // a[i] = 0; 改正 // 获取字符串长度 n = strlen(a); // 遍历字符串,统计每个字母的出现次数 for (i = 0; i < n; i++) if (a[i] >= 'a' && a[i] <= 'z') // 将小写字母转换为对应的索引并增加计数 /**********found**********/ b[a[i] - 'a']++; // b[a[i] - 'A']++; 改正 else if (a[i] >= 'A' && a[i] <= 'Z') // 将大写字母转换为对应的索引并增加计数 b[a[i] - 'A']++; // 查找出现次数最多的字母对应的索引 max = 0; for (i = 1; i < 26; i++) /**********found**********/ if (b[max] > b[i]) // if (b[max] < b[i]) 改正 max = i; // 输出出现次数最多的字母 printf("出现次数最多的字符是 : %c\n", max + 'a'); } int main() { char a[200]; printf("请输入一个待统计的字符串 : "); scanf("%s", a); fun(a); }