字符统计2
题目描述
输入英文句子,输出该句子中除了空格外出现次数最多的字符及其出现的次数。
输入
输入数据包含多个测试实例,每个测试实例是一个长度不超过100的英文句子,占一行。
输出
逐行输出每个句子中出现次数最多的字符及其出现的次数(如果有多个字符的次数相同,只输出ASCII码最小的字符)。
示例输入
I am a student a good programming problem ABCD abcd ABCD abcd
示例输出
a 2 o 4 A 2
View Code
1 #include <stdio.h> 2 #include <string.h> 3 int main() 4 { 5 char s[200]; 6 int a[200]; 7 int i,len,max,k; 8 while(gets(s)) 9 { 10 memset(a, 0, sizeof(a)); 11 k = max = 0; 12 len = strlen(s); 13 for(i=0; i<len; i++){ 14 if(s[i] == ' ') continue; 15 a[s[i]]++; 16 } 17 for(i=0; i<200; i++) 18 { 19 if(max < a[i]) {max = a[i]; k = i;} 20 } 21 printf("%c %d\n", k, max); 22 } 23 return 0; 24 }
总结:可以先开辟一个新数组,把除了空格之外的字符放到新数组中再进行判断