Day 002:PAT练习--1021 个位数统计 (15 分)

Posted 北海钟士季

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Day 002:PAT练习--1021 个位数统计 (15 分)相关的知识,希望对你有一定的参考价值。

  话不多说,看题目:
点开看比较清楚
  显而易见,这道题用map实现非常的方便,(才不是,其实还有更简单的办法,但是我觉得写那种代码实在没什么意义,再加上正好借此练习一下map)我的代码如下:

#include<iostream>
#include<string>
#include<map>
using namespace std; 
const int maxn = 1010;
map<int, int> mp;
int main(){
	string s;
	cin >> s; 
	for(int i = 0; i < s.size(); i++){
		mp[s[i] - 48] += 1;
	}
	for(map<int, int>::iterator it = mp.begin(); it != mp.end(); it++){
		if(it -> second != 0){
			cout << it -> first << \':\' << it -> second << endl;
		}
	}
	return 0;
}

  个人认为这道题需要注意以下几点:
  1、由于map封装在C++标准模板库中,因此使用前要在头文件下添加 using namespace std;。并且map具有数组的特性,即定义时并不需要将其设置为map数组形式。
  2、map内部是由红黑树实现的,因此会以键从小到大自动排序,对于这道题就不需要编写sort函数来用于从小到大输出了。
  3、对于map内的每个元素,for循环遍历时判断语句中要使用迭代器。格式为 map<typename1, typename2>::iterator it;
  这道题目比较容易,但是也不能掉以轻心,毕竟一个小错误就会导致失去大部分的得分点。

  今天的台词分享时间:

  “对武器,只要我们下功夫去研究,就能跟着不断改进。”

  “问题在于你们,使用武器的人,也要跟着进步。”

  xdm明天再见!

以上是关于Day 002:PAT练习--1021 个位数统计 (15 分)的主要内容,如果未能解决你的问题,请参考以下文章

PAT乙级 1021. 个位数统计 (15)

PAT 1021 个位数统计

PAT乙级1021 个位数统计 (15 分)

PAT B1021 个位数统计 (15)

PAT字符串处理题---1021 个位数统计 (15分)

[PAT乙级]1021 个位数统计