首页 > 编程语言 > 详细

PTA basic 1042 字符统计 (20 分) c++语言实现(g++)

时间:2021-05-07 10:31:02      阅读:13      评论:0      收藏:0      [点我收藏+]

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

输入格式:

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

输出格式:

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

输入样例:

This is a simple TEST.  There ARE numbers and other symbols 1&2&3...........
 

输出样例:

e 7


1.使用getline(cin,string)函数获取一行所有输入
2.然后逐个标记字符出现的次数,将大写字母的次数加入小写字母中,然后比较依次从a开始找出小写字母出现频率最高的字母,将最高次数存入maxTime,对应ascii下标存入maxIndex,然后输出

 1 #include <iostream>
 2 #include <string>
 3 #include <vector>
 4 using namespace std;
 5 int main(){
 6     int maxTime{0},maxIndex{0};
 7     string str;
 8     vector<int> alpha(129,0);
 9     getline(cin, str);
10     for(int i=0;i<str.size();i++){
11         alpha[str[i]]+=1;
12     }
13     for(int i=65;i<92;i++){//65是‘A‘的ascii码 91是‘Z‘
14         alpha[i+32]+=alpha[i];
15     }
16     for(int i=95;i<122;i++){//95是‘a‘   121是‘z‘
17         if(alpha[i]>maxTime){
18             maxTime=alpha[i];
19             maxIndex=i;
20         }
21     }
22     cout << static_cast<char>(maxIndex)<< " "<< maxTime<<endl;
23     return 0;
24 }

 

PTA basic 1042 字符统计 (20 分) c++语言实现(g++)

原文:https://www.cnblogs.com/ichiha/p/14737464.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!