【2033】统计字符串中的字母个数
统计 字符串 个数 字母
2023-09-14 09:03:46 时间
Time Limit: 20 second
Memory Limit: 20 MB
问题描述输入一串小写字母(以"."为结束标志),统计出每个小写字母在该字符串中出现的次数(若某字母不出现,则不要输出)。若输入大写字母或数字,则不计数. (类似题目如:投票问题,将候选人各对应一个字母,唱票时顺序输入,唱票结束用".",可以用这种方法统计选票,若输入其他内容,按照废票计算.)
Input
输入仅一行
输入字符串以"."结束
Output
输出统计的字母及其次数。统计结果按字母顺序显示。
Sample Input
输入:aaaabbbccc.
Sample Output
输出:a:4 b:3 c:3 回车
【题解】
用int a[27] 来统计各个字母的出现次数。注意先找到".'的位置然后字符串是从0开始的.是否为小写字母用 >='a' <= 'z'来判断。
【代码】
#include <cstdio> #include <iostream> #include <string> using namespace std; string s1; int a[27]; void input_data() { char ts[300]; cin.getline(ts,300); s1 = string(ts); //应该是没有空格的 练习了一下 cin.getline 的用法 for (int i = 1;i <= 26;i++) //初始化各个字母出现的次数 a[i] = 0; } void get_ans() { int p = 0; while (s1[p] != '.') p++; //先找到终止符的位置 for (int i = 0;i <= p-1;i++) if ((s1[i] >= 'a') && (s1[i] <= 'z')) //如果这个字符是小写字母 就记录并递增数目 a[s1[i]-'a'+1]++; } void output_ans() //输出各个字母出现的次数。 { for (int i = 1;i <= 26;i++) if (a[i] > 0) { char t = i + 'a' -1; cout << t << ':' << a[i] <<endl; } } int main() { input_data(); get_ans(); output_ans(); return 0; }
相关文章
- 蓝桥杯 字符串统计(枚举 短短20行)---------C语言—菜鸟级
- 【说站】python统计不同字符的个数
- 【matplotlib】3-绘制统计图形
- 大数据分析工具Power BI(八):动态TOPN统计
- 统计MySQL 动态实现行转列统计(mysql行转列动态)
- 利用Linux中wcslen函数统计字符串长度(linuxwcslen)
- MySQL分时统计:洞悉系统性能关键指标(mysql分时统计)
- MySQL 查询及统计结果分析(mysql查询并统计)
- MySQL技术深度解析:统计条件的使用(mysql统计条件)
- 研究统计Redis使用情况分析(统计redis使用情况)
- MySQL高级分组统计,轻松掌握数据分析技巧(mysql中分组统计高级)
- MYSQL分组命令详解优化数据分析和统计查询(MYSQL中分组命令是)
- 利用Redis加速数据统计的精准性(利用redis做数据统计)
- php中3种方法统计字符串中每种字符的个数并排序
- .net页面访问次数统计实现原理与代码
- 最新统计排名前十的SQL和NoSQL数据库排行榜