Description
鐘Sir是一個迷信的(superstitious)家伙。他相信每一個字符串(string)裡都有一個幸運字符。我們可以通過以下方法找到這個字符。例如,在字符串abbccc中,c 出現的次數最多,所以這個幸運字符就是 c 啦!(>_<) (鐘Sir的想法好簡單啊…)
Input
第一行是測試數據的組數n,接下來的每組測試數據占一行,每行數據不超過1000個字符且非空。
字符串裡只含小寫字母。
Output
每組數據對應輸出一行,包括出現次數最多的字符和該字符出現的次數,中間是一個空格。如果有多個字符出現的次數相同且最多,那麼輸出ASCII碼最小的那一個字符。
Sample Input
2
abbccc
adfadffasdf
Sample Output
c 3
f 4
=====t===t
#include
#include
int main(void){
int n, g, i, z[28], max, xia;
char c[1050], ch;
scanf("%d", &n);
ch=getchar();
for(g=1; g<=n; g++){
for(i=0; i<=27; i++)
z[i]=0;
i=0;
while((c[i]=getchar())!=0&&c[i]!='\n')
i++;
for(i=0; i<strlen(c); i++)
switch(c[i]){
case 'a': z[0]++; break;
case 'b': z[1]++; break;
case 'c': z[2]++; break;
case 'd': z[3]++; break;
case 'e': z[4]++; break;
case 'f': z[5]++; break;
case 'g': z[6]++; break;
case 'h': z[7]++; break;
case 'i': z[8]++; break;
case 'j': z[9]++; break;
case 'k': z[10]++; break;
case 'l': z[11]++; break;
case 'm': z[12]++; break;
case 'n': z[13]++; break;
case 'o': z[14]++; break;
case 'p': z[15]++; break;
case 'q': z[16]++; break;
case 'r': z[17]++; break;
case 's': z[18]++; break;
case 't': z[19]++; break;
case 'u': z[20]++; break;
case 'v': z[21]++; break;
case 'w': z[22]++; break;
case 'x': z[23]++; break;
case 'y': z[24]++; break;
case 'z': z[25]++; break;
}
max=z[0]; xia=0;
for(i=1; i<=25; i++)
if(z[i]>max){
max=z[i];
xia=i;
}
ch='a'+xia;
if(c[0]=='\n')
printf("");
else
printf("%c %d\n", ch, max);
}
return 0;
}
復制可運行。
#include <string.h>
#include"stdio.h"
int main(void)
{
int n,i, z[26], max, xia;
char c[1050], ch;
scanf("%d",&n);
while(n>0)
{
n--;
scanf("%s", c);
for(i=0; i<26; i++)
z[i]=0;
xia=strlen(c);
for(i=0; i<xia; i++)
z[c[i]-'a']++;
max=z[0]; xia=0;
for(i=1; i<=25; i++)
if(z[i]>max){
max=z[i];
xia=i;
}
ch='a'+xia;
printf("%c %d\n", ch, max);
}
return 0;
}