输入若干个整数,当输入0时表示结束,统计每个输入整数的出现次数。
2017-06-06 18:42
369 查看
【描述】
输入若干个整数,当输入0时表示结束,统计每个输入整数的出现次数。
【输入】
输入若干个整数,整数之间以空格间隔,当输入0时表示结束。
【输出】
分行输出每个整数出现的次数。行末不能有多余空格。
【输入示例】
11 22 35 68 97 63 22 68 11 0
【输出示例】
11: 2
22: 2
35: 1
63: 1
68: 2
97: 1
【提示】
可以使用map来保存二元组<输入整数,出现次数>。
输入若干个整数,当输入0时表示结束,统计每个输入整数的出现次数。
【输入】
输入若干个整数,整数之间以空格间隔,当输入0时表示结束。
【输出】
分行输出每个整数出现的次数。行末不能有多余空格。
【输入示例】
11 22 35 68 97 63 22 68 11 0
【输出示例】
11: 2
22: 2
35: 1
63: 1
68: 2
97: 1
【提示】
可以使用map来保存二元组<输入整数,出现次数>。
#include<iostream> #include<string> #include<sstream> #include<algorithm> #include<cctype> #include<iomanip> #include<cmath> #include<cstdlib> #include<vector> #include<deque> #include<list> #include<set> #include<iterator> #include<map> using namespace std; int main(){ int n,count=0; map<int,int>m; while(cin>>n){ if(n==0) break; map<int,int>::iterator p; p=m.find(n); //用于查找相同的元素 if(p==m.end()) m.insert(pair<int,int>(n,1)); //如果没有,则新建二元组 else{ count=m.find(n)->second; //成功,记录次数 m.erase(n); //删除原来的二元组 m.insert(pair<int,int>(n,++count)); } } for(auto pos=m.begin();pos!=m.end();++pos) cout<<pos->first<<": "<<pos->second<<endl; return 0; }
相关文章推荐
- 输入数量不确定的[0,9]范围内的整数,统计每个数字出现的次数,输入-1时结束程序。
- 对于给定的一个字符串,统计其中数字字符出现的次数。输入数据有多行,第一行是一个整数n,表示测试实例的个数,后面跟着n行,每行包括一个由字母和数字组成的字符串。
- 【C代码练习17】输入数量不确定的0-9范围内的整数,统计每一种数字出现的次数,输入以-1结束
- awk统计用户输入错误的验证码每个字母出现的次数
- 一个文本文件中约有10万多行的数据,每个数据占一行(数据为一个整数)。要求:统计出总行数,并找出出现次数最多的那个整数。
- 随机产生50个整数,位于[10,50],统计每个数字出现的次数以及出现次数最多的数字与出现次数并打印.如果出现次数为0不打印,打印时要求升序
- 统计用户输入的一串数字中每个数字出现的次数
- 输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数
- 输入一个整数n,求从1 到n 这n 个整数的十进制表示中1 出现的次数。
- 输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数
- 输入一串字母,统计每个字母的出现的个数并将出现次数最多的字母输出
- 统计用户输入的一串数字中每个数字出现的次数
- 输入一串以#为结束的字母,统计出现的次数,并用冒泡法排序?
- C#控制台 统计用户输入的一串数字中每个数字出现的次数
- 用c语言编程 统计输入的一个字符串中每个字母出现的次数
- 利用Map实现的统计每个输入字符串或则单词出现的次数
- 输入整数n,计算从1到n这n个整数的十进制表示中1出现的次数和
- 输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。
- 输入一个整数n,求从1 到n 这n 个整数的十进制表示中1 出现的次数)
- 统计用户输入的一串数字中每个数字出现的次数和Winform ComboBox拥有(name,values)