题解 | 字母统计

字母统计

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;
} 

全部评论

相关推荐

01-12 20:31
东北大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务