書式#include <iostreamの> の#include <アルゴリズム> 使用して 名前空間はstdを、 INTハッシュテーブル[ 26は = {] 0 ;} //は、それぞれ小文字の数をカウント表示 INT cnt_alpha = 0、cnt_word = 0 - 、MAX = 1 ; int型のmain(){ 文字列STR; 一方(CIN >> STR){ cnt_alpha += str.size();//统计字母个数 cnt_word++;//统计英文单词个数 for(int i = 0; i < str.size(); ++i) {//转小写字母,统计各个小写字母出现次数 str[i] = tolower(str[i]); hashtable[str[i]-'a']++; MAX = max(MAX,hashtable[str[i]-'a']);//记录字母最大出现次数 } char ch = getchar();//结束死循环,新技能get if(ch == '\n') break; } printf("%d\n",cnt_alpha);//输出英文字母的个数 printf("%d\n",cnt_word);//输出单词的个数 int flag = 0; for(int i = 0; i < 26; ++i) {//输出出现次数最多的小写字母 if(hashtable[i] == MAX) { if(flag == 0) { printf("%c",i+'a'); flag = 1; } else printf(" %c",i+'a'); } } printf("\n%d",MAX);//输出最大出现次数 return 0; }
运行结果:
终止死循环的方法!
while(cin>>str){
代码...;
char ch = getchar();//结束死循环,新技能get
if(ch == '\n') break;
}