有谁知道为什么这个程序输错了?我尝试了所有我能想到的测试用例,但似乎有一些测试用例我不介绍。这是链接:http://a2oj.com/p.jsp?ID=193
#include<stdio.h>
#include<string.h>
int main()
{
int t, i;
scanf("%d", &t);
for(i=0;i<t;i++)
{
char str[100];
scanf("%s", str);
int l=strlen(str),j, c[26]= {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
for(j=0;j<l;j++)
{
int k;
for(k=97;k<=122;k++)
{
if((int)str[j]==k)
c[k-97]++;
}
}
int max=c[0], m, maxi=0;
for(m=0;m<26;m++)
{
if(c[m]>max)
{
max=c[m];
maxi=m;
}
}
printf("%d %c\n", max, maxi+97);
}
return 0;
}
答案 0 :(得分:0)
一个问题是你的char str[100];
无法容纳100个字母的字符串。
尝试:
char str[101];