解题思路: 定义大小为26的整型数组,对应26个英文字母, 判断字符串的每个元素, 对应下表的数组值加加,
然后进行比较大小,输出即可. 别忘记清空数组.
注意事项: 别用fflush(stdin); 会出错的.
参考代码:#include
#include
int main()
{
int i, n, j, t, max, c;
int num[26] = { 0 }; //定义大小为26的整型数组,对应26个英文字母的个数
char str[1200];
scanf("%d", &n); //输入测试数据的组数 n
getchar(); //接收回车
for (i = 0; i
{
gets(str); //输入字符串
j = 0;
while (str[j])
{
t = str[j] - 'a'; //找到字符串元素对应的数组元素,数组元素加加
num[t]++;
j++;
}
max = 0;
for (j = 0; j
{
if (max
{
max = num[j];
}
}
for (j = 0; j
{
if (max == num[j])
{
max = num[j]; //找到ascll码最小的出现最多次数的字符
c = j + 'a';
break;
}
}
printf("%c %d\n", c, max); //输出该字符及出现次数
memset(num, 0, 26 * sizeof(int)); //清空数组
}
return 0;
}