首页 > 学院 > 开发设计 > 正文

B1042. 字符统计(20)

2019-11-06 09:33:02
字体:
来源:转载
供稿:网友

请编写程序,找出一段给定文字中出现最频繁的那个英文字母。

输入格式:

输入在一行中给出一个长度不超过1000的字符串。字符串由ASCII码表中任意可见字符及空格组成,至少包含1个英文字母,以回车结束(回车不算在内)。

输出格式:

在一行中输出出现频率最高的那个英文字母及其出现次数,其间以空格分隔。如果有并列,则输出按字母序最小的那个字母。统计时不区分大小写,输出小写字母。

输入样例: This is a simple TEST. There ARE numbers and other symbols 1&2&3……….. 输出样例: e 7

#include <stdio.h>#include <stdlib.h>#include <string.h>/*B1042 字符统计*/int main(){ char str[1010]; gets(str);// char str[1010]="This is a simple TEST. There ARE numbers and other symbols 1&2&3"; int strLength=strlen(str); int hashTable[1010]={0}; for(int i=0;i<strLength;++i){ int c1=str[i];//c1暂时保存字符数组中的字符 if(c1>='A'&&c1<='Z'){ c1+=32; } if(c1>='a'&&c1<='z'){ hashTable[c1]++; } } int maxLength=0; char c2;//c2保存出现次数最多的字符 for(int j=0;j<1010;++j){ if(hashTable[j]>maxLength){ maxLength=hashTable[j]; c2=j; } } PRintf("%c %d",c2,maxLength); return 0;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表