PAT乙级1021
Posted another-7
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PAT乙级1021相关的知识,希望对你有一定的参考价值。
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
", i, counter[i]);
}
}
return 0;
}
更改过程
- 难得的一遍AC、、、
- 而且发现一个问题,为什么我电脑上之前测试的使用cout是比printf输出要快的,可是在PAT上提交测试printf是比较快的,难搞哦
以上是关于PAT乙级1021的主要内容,如果未能解决你的问题,请参考以下文章