グループ内だけで鋸誰かが話題を作った2

書式#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;

}

 

おすすめ

転載: www.cnblogs.com/keep23456/p/12360836.html