PAT Basic Level 1021. 个位数统计 (15)
2014-03-08 10:37
393 查看
给定一个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的升序输出。
输入样例:
输出样例:
so easy.
代码如下:
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
so easy.
代码如下:
#include<iostream> #include<map> #include<string> #include<vector> #include<iterator> using namespace std; int main() { #ifdef ONLINE_JUDGE #else freopen("D:\\in.txt", "r", stdin); freopen("D:\\out.txt", "w", stdout); #endif map<char, int> m; for (int i = 0; i < 10; i++) { m['0' + i] = i; } string s; vector<int> coll(10); while (cin >> s) { coll.clear(); coll.resize(10); for (int i = 0; i < s.size(); i++) { int t = m[s[i]]; coll[t]++; } for (int i = 0; i < 10; i++) if (coll[i]!=0) printf("%d:%d\n", i, coll[i]); } }
相关文章推荐
- PAT (Basic Level) Practise (中文)1021. 个位数统计 (15)
- PAT (Basic Level) Practise (中文) 1021. 个位数统计 (15)
- PAT BASIC LEVEL 1021. 个位数统计 (15)
- PAT (Basic Level) Practise (中文)1021. 个位数统计 (15)
- PAT (Basic Level) Practise (中文)1021. 个位数统计 (15)
- PAT(basic level) 1021 个位数统计(15)
- PAT Basic Level 1021. 个位数统计(15)
- PAT (Basic Level) Practise (中文)1021. 个位数统计 (15) C语言
- PAT (Basic Level) Practise (中文)- 1021. 个位数统计 (15)
- PAT (Basic Level) Practise (中文)-1021. 个位数统计 (15)
- PAT Basic 1021. 个位数统计 (15)(C语言实现)
- PAT (Basic Level) Practise:1021. 个位数统计
- PAT(Basic Level)_1021_个位数统计
- PAT1021 BASIC:个位数统计 (15)
- PAT (Basic Level)1021. 个位数统计
- Pat(Basic Level)Practice--1021(个位数统计)
- PAT --- 1021. 个位数统计 (15)
- PAT 乙级练习题1021. 个位数统计 (15)
- 乙级 PAT 1021. 个位数统计 (15)
- PAT(乙) 1021. 个位数统计 (15)