题解 | 字母统计
字母统计
https://www.nowcoder.com/practice/de7bf0945c1c4bd1aa9d49573b831f3c
#include<bits/stdc++.h>
using namespace std;
int main(){
char str[2000];
cin.getline(str,2000);//c++内置函数,连续读入字符串
map<char,int> mp;
//初始化map容器
for(char ch = 'A';ch<='Z';ch++){
mp[ch] = 0;//初始赋值为0
}
for(int i = 0;str[i]!=0;i++){
char ch = str[i];
if(isalpha(ch)){//判断是否在26个字母内,不论大小写
mp[str[i]]++;
}
}
//迭代器方法
// map<char,int> ::iterator it;
// for(it = mp.begin();it!=mp.end();it++){
// cout<<it->first<<":"<<it->second<<endl;
// }
// //两种输出方法
for(auto& p :mp){//auto自动推导,不用定义类型 &引用,实现了不用拷贝,效率高一些
cout<<p.first<<":"<<p.second<<endl;
}
return 0;
}
查看20道真题和解析