码迷,mamicode.com
首页 > 其他好文 > 详细

PAT乙级1021

时间:2020-01-26 22:29:11      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:理解   problem   表达式   问题   ems   为什么   顺序   ret   更改   

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;
}

更改过程

  1. 难得的一遍AC、、、
  2. 而且发现一个问题,为什么我电脑上之前测试的使用cout是比printf输出要快的,可是在PAT上提交测试printf是比较快的,难搞哦

PAT乙级1021

标签:理解   problem   表达式   问题   ems   为什么   顺序   ret   更改   

原文地址:https://www.cnblogs.com/another-7/p/12157969.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!