1152: 【作】【入门】统计字母出现次数
内存限制:64 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:4
解决:3
题目描述
输入一串小写字母(以"."为结束标志),统计出每个字母在该字符串中出现的次数(若某字母不出现,则不要输出,题目保证每个字母出现的次数<10)。
输入
输入只有一行,包括若干个字符。
输出
输出只有两行,第一行为出现的小写字母,第二行为字母的出现次数。
样例输入 复制
abdceeef.
样例输出 复制
abcdef
111131
提示
思路:
第一步:准备长度为200的计数数组
第二步:每个字母出现的次数,就统计在该字母对应的编码的下标中 s =“acdcc”第三步:
循环97~97+25,如果c[i]!=0,就输出下标i对应的字母;
第一步:准备长度为200的计数数组
第二步:每个字母出现的次数,就统计在该字母对应的编码的下标中 s =“acdcc”第三步:
循环97~97+25,如果c[i]!=0,就输出下标i对应的字母;
循环 97~97+25,如果c[i]!=0,就输出该字母出现的次数c[i];
#include<bits/stdc++.h> using namespace std; int main(){ char s[1000]; //有放字符串 int c[200]= {0},i; //存放每个字母出现的次数 int x; //获取字符对应的编码 //读入 cin>>s; //循环计数(循环次数-1,是为了不处理最后的.) for(i - 0;i < strlen(s) - 1;i++){ x = s[i]; //得到每个字母对应的编码 c[x]++; //c[s[i]]++; } //输出 //输出哪些字母出现过 //i = 'a';i <= 'z';i++ for(i = 97;i <= 97 + 25;i++){ if(c[i]!= 0){ //把整数(编码)i强制转换为字符输出 cout<<(char)i; } } cout<<endl; //输出每个字母出现的次数 for(i = 97;i <= 97 + 25;i++){ if(c[i] != 0){ cout<<c[i]; } } return 0; }