1021 個位數統計 (15分)
題目地址:https://pintia.cn/problem-sets/994805260223102976/problems/994805300404535296

輸入格式
每個輸入包含 1 個測驗用例,即一個不超過 1000 位的正整數 N,
輸出格式:
對 N 中每一種不同的個位數字,以 D:M 的格式在一行中輸出該位數字 D 及其在 N 中出現的次數 M,要求按 D 的升序輸出,
輸入樣例
100311
輸出樣例
0:2 1:3 3:1
我的理解
前面的N= 、、、是數學運算式,看到后面的我就明白什么意思了,統計字串中數字0 ~ 9 出現的次數,并且按照0 ~ 9 的順序進行輸出,
代碼段
#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;
}
更改程序
- 難得的一遍AC、、、
- 而且發現一個問題,為什么我電腦上之前測驗的使用cout是比printf輸出要快的,可是在PAT上提交測驗printf是比較快的,難搞哦
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/100431.html
標籤:其他
