大家好,第六次创作,欢迎高手指导,谢谢!
不定时更新,题目+解析+评测结果+完整程序,有问题有瑕疵欢迎评论区留言!
1.题目
56. K13418 字符出现的次数
题目描述
给定一个只包含大小写字母的字符串,按照ASCII码从小到大输出每个字符出现的次数,出现0次的不需要输出。
输入格式
第1行:一个只包含大小写字母的字符串。
输出格式
若干行,每行一个字符C和一个整数N,用空格分隔,表示字母C在字符串中出现了N次
输入输出样例
输入样例1:复制
ACCaCB
输出样例1:复制
A 1 B 1 C 3 a 1
说明
【数据范围】
1 <= 字符串长度 <= 10000;
【耗时限制】1000ms 【内存限制】128MB
2.解析
题目不难,我们直接开始写程序吧!
1.变量
#include<bits/stdc++.h>
using namespace std;
string s;
int cnt[130];
int main()
{
}
s:一个只包含大小写字母的字符串。
cnt[]:每个字符出现的次数。
2.输入
#include<bits/stdc++.h>
using namespace std;
string s;
int cnt[130];
int main()
{
cin>>s;
}
直接输入。
3.统计次数
#include<bits/stdc++.h>
using namespace std;
string s;
int cnt[130];
int main()
{
cin>>s;
for(int i=0;i<s.size();i++){
cnt[int(s[i])]++;
}
}
找一个加一个。
4.输出
#include<bits/stdc++.h>
using namespace std;
string s;
int cnt[130];
int main()
{
cin>>s;
for(int i=0;i<s.size();i++){
cnt[int(s[i])]++;
}
for(int i=65;i<=127;i++){
if(cnt[i]!=0){
cout<<char(i)<<' '<<cnt[i]<<endl;
}
}
}
循环输出。
3.评测结果
4.完整程序
#include<bits/stdc++.h>
using namespace std;
string s;
int cnt[130];
int main()
{
cin>>s;
for(int i=0;i<s.size();i++){
cnt[int(s[i])]++;
}
for(int i=65;i<=127;i++){
if(cnt[i]!=0){
cout<<char(i)<<' '<<cnt[i]<<endl;
}
}
}
谢谢大家,给个赞呗!