1021. 个位数统计 (15)
2015-11-28 20:03
337 查看
1021. 个位数统计 (15)
给定一个k位整数N = dk-1*10k-1 + … + d1*101 + d0 (0<=di<=9, i=0,…,k-1, dk-1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定N = 100311,则有2个0,3个1,和1个3。
输入格式:
每个输入包含1个测试用例,即一个不超过1000位的正整数N。
输出格式:
对N中每一种不同的个位数字,以D:M的格式在一行中输出该位数字D及其在N中出现的次数M。要求按D的升序输出。
输入样例:
100311
输出样例:
0:2
1:3
3:1
给定一个k位整数N = dk-1*10k-1 + … + d1*101 + d0 (0<=di<=9, i=0,…,k-1, dk-1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定N = 100311,则有2个0,3个1,和1个3。
输入格式:
每个输入包含1个测试用例,即一个不超过1000位的正整数N。
输出格式:
对N中每一种不同的个位数字,以D:M的格式在一行中输出该位数字D及其在N中出现的次数M。要求按D的升序输出。
输入样例:
100311
输出样例:
0:2
1:3
3:1
#include<iostream> #include<vector> #include<algorithm> using namespace std; typedef struct{ int num; int times; }nums; void ifExit(vector<nums> &data,int num) { for(vector<nums>::iterator it=data.begin();it!=data.end();it++) { if(num==(*it).num) { (*it).times++; return; } } nums tmp; tmp.num=num; tmp.times=1; data.push_back(tmp); } bool compare(nums a,nums b) { return a.num<b.num; } int main() { int num; vector<nums> result; cout<<"please input a num"<<endl; cin>>num; do{ int tmp=num%10; ifExit(result,tmp); num=num/10; }while(num!=0); sort(result.begin(),result.end(),compare); for(vector<nums>::iterator it=result.begin();it!=result.end();it++) { cout<<(*it).num<<":"<<(*it).times<<endl; } return 0; }
相关文章推荐
- Apple TV编程指南:资源管理
- Implement Queue using Stacks
- 编译原理(五) LL(1)文法分析法(预测分析表的构造算法C++实现)
- (四) Nepxion-Thunder分布式RPC集成框架 - 扫描框架
- dpkg
- (三) Nepxion-Thunder分布式RPC集成框架 - 结构管理
- Linux系统下Qt动态库的生成已经动态库的使用实例图解
- s5k4ba摄像头驱动分析
- java虚拟机初步了解与想法
- 绑定列
- Windows 系统怎样修改主机解析器最大缓存时间 以及否定回答缓存超时时间
- 为什么寄存器比内存快
- 课余时间技术方面晋级
- Kabbalah for Two
- ios crash log查看
- 【IOS】IOS OpenCV之HelloWorld
- nyoj--1233--差值(贪心模拟+大数)
- UML学习:机房收费系统-活动图,状态图
- nyoj--1233--差值(贪心模拟+大数)
- android动画