題目地址:https://pintia.cn/problem-sets/994805260223102976/problems/994805300404535296ios
每一個輸入包含 1 個測試用例,即一個不超過 1000 位的正整數 N。測試
對 N 中每一種不一樣的個位數字,以 D:M
的格式在一行中輸出該位數字 D
及其在 N 中出現的次數 M
。要求按 D
的升序輸出。spa
100311
0:2 1:3 3:1
前面的N= 、、、是數學表達式,看到後面的我就明白什麼意思了,統計字符串中數字0 ~ 9 出現的次數,而且按照0 ~ 9 的順序進行輸出。code
#include <iostream> using namespace std; int main(){ string N; cin >> N; int counter[10] = {0}; int limit = N.length(); for (int i = 0; i < limit; i++) { counter[N[i] - '0']++; } for (int i = 0; i < 10; i++) { if (counter[i] != 0) { // cout << i << ":" << counter[i] << endl; printf("%d:%d\n", i, counter[i]); } } return 0; }