浙江大学PAT_乙级_1042. 字符统计(20)
2015-09-13 09:36
507 查看
题目链接:点击打开链接
请编写程序,找出一段给定文字中出现最频繁的那个英文字母。
输入格式:
输入在一行中给出一个长度不超过1000的字符串。字符串由ASCII码表中任意可见字符及空格组成,至少包含1个英文字母,以回车结束(回车不算在内)。
输出格式:
在一行中输出出现频率最高的那个英文字母及其出现次数,其间以空格分隔。如果有并列,则输出按字母序最小的那个字母。统计时不区分大小写,输出小写字母。
输入样例:
输出样例:
我的C++程序:
请编写程序,找出一段给定文字中出现最频繁的那个英文字母。
输入格式:
输入在一行中给出一个长度不超过1000的字符串。字符串由ASCII码表中任意可见字符及空格组成,至少包含1个英文字母,以回车结束(回车不算在内)。
输出格式:
在一行中输出出现频率最高的那个英文字母及其出现次数,其间以空格分隔。如果有并列,则输出按字母序最小的那个字母。统计时不区分大小写,输出小写字母。
输入样例:
This is a simple TEST. There ARE numbers and other symbols 1&2&3...........
输出样例:
e 7
我的C++程序:
#include<iostream> #include<map> #include<string> using namespace std; int main() { int i = 0, MaxFrequency = 0; //MaxFrequency出现的最高次数 char MaxFrequencyChar='z'; //出现次数最多的字母 string str; //输入的一段字符串 map<char, int> frequency; //用来分别保存每隔字符的出现次数 getline(cin, str); //输入 for ( i = 0 ; i < str.length(); i++) { if ((str[i] >='A' && str[i] <= 'Z') || (str[i] >='a' && str[i] <='z')) //这个字符是大写或小写字母 { if (str[i] >='A' && str[i] <= 'Z')//大写字母转换成小写 { str[i] = str[i] + 32; } frequency[str[i]]++; //记录每个小写字母出现次数 } } for (auto it : frequency)//遍历map.查找出现最多的字母 { if (it.second > MaxFrequency) { MaxFrequency =it.second;//记录最大出现次数 MaxFrequencyChar =it.first; //记录出现最多的符号 } } cout << MaxFrequencyChar << ' ' << MaxFrequency;//输出 //system("pause"); return 0; }
相关文章推荐
- 母函数入门+模板
- 9.11学习总结
- leetcode [004] : Median of Two Sorted Arrays
- 第六篇 Integration Services:初级工作流管理
- 多元统计学习日记1
- 2015百度笔试程序题兼职递归求解
- android SQLite学习手册
- GCD创建单例的方法
- c# switch case语句
- 复杂度之双边滤波算法的原理、流程、实现及效果。
- jdbc 封装
- Ultra-QuickSort(归并排序)
- GCD-ios 多线程
- 一名程序媛的软件开发之路
- 还在用XListView?试试更漂亮的AutoLoadListView吧!
- Dubbo入门实例(二)
- Scala中隐式参数与隐式转换的联合使用实战详解及其在Spark中的应用源码解析之Scala学习笔记-51
- 收集的Android开源框架及其地址
- 写在开始的话
- 【IOS 开发学习总结-OC-7.3】C 语言特性——动态存储与静态存储