一、题目描述

PAT 1021 个位数统计
请编写程序统计每种不同的个位数字出现的次数。例如:给定 N=100311,则有 2 个 0,3 个 1,和 1 个 3。

输入格式:

每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数 N。

输出格式:

对 N 中每一种不同的个位数字,以 D:M 的格式在一行中输出该位数字 D 及其在 N 中出现的次数 M。要求按 D 的升序输出。

二、题目分析

统计不同个位数字出现的个数并输出。
开始的时候没有注意到输入时不超过1000位的正整数,使用int来接受输入,最后没有通过测试点3。
所以建议使用string或char数组来接收输入,使用int num[10]来统计个位数字的个数。

三、思路与代码

1.思路

  • 使用string字符串来接受输入的正整数
  • 遍历string,得到输入的正整数中各个位数字出现的个数
    for (int i = 0; i < str.length(); i++){num[str[i] - '0']++;}
  • 先找到最后一个个位数字所在的位置
  • 输出
    //输出for (int i = 0; i < pos; i++){if (num[i]){printf("%d:%d\n", i, num[i]);}}printf("%d:%d", pos, num[pos]);

2.代码

#include <stdio.h>
#include <iostream>using namespace std;
int main()
{int num[10] = {0}; //统计各数字出现频率string str;cin >> str;for (int i = 0; i < str.length(); i++){num[str[i] - '0']++;}//找到最后一个要输出的数字位置posint pos = 0;for (int i = 9; i >= 0; i--){if (num[i]){pos = i;break;}}//输出for (int i = 0; i < pos; i++){if (num[i]){printf("%d:%d\n", i, num[i]);}}printf("%d:%d", pos, num[pos]);return 0;
}

四、结果

【PAT】1021 个位数统计相关推荐

  1. PAT初级1021 个位数统计(C++)

    ** PAT初级1021 个位数统计(C++) ** 题目: 思路: 数字只有0-9,统计各类数量,最后输出数量不为0的即可(其实本质也类似于桶排序~) 代码: # include<iostre ...

  2. 【PAT (Basic Level) Practice】——【字符串处理】1021 个位数统计

    文章目录 一[题目难度] 二[题目编号] 三[题目描述] 四[题目示例] 五[解题思路] 六[最终得分] 七[代码实现] 八[提交结果] 一[题目难度] 乙级 二[题目编号] 1021 个位数统计 ( ...

  3. PAT-乙级-1021. 个位数统计 (15)

    1021. 个位数统计 (15) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定一个k位整数N = dk-1 ...

  4. 1021. 个位数统计 (15)

    1021. 个位数统计 (15)给定一个k位整数N = dk-1*10k-1 + ... + d1*101 + d0 (0<=di<=9, i=0,...,k-1, dk-1>0), ...

  5. C++学习之路 | PTA乙级—— 1021 个位数统计 (15分)(精简)

    1021 个位数统计 (15分) 给定一个 k 位整数 N=d ​k−1 ​​ 10 ​k−1 ​​ +⋯+d ​1 ​​ 10 ​1 ​​ +d ​0 ​​ (0≤d ​i ​​ ≤9, i=0,⋯ ...

  6. 1021 个位数统计

    1021 个位数统计 题目: 给定一个 k 位整数 N=d​k−1​​10​k−1​​+⋯+d​1​​10​1​​+d​0​​ (0≤d​i​​≤9, i=0,⋯,k−1, d​k−1​​>0) ...

  7. pat 乙级 1021 个位数统计(C++)

    题目 给定一个 k 位整数 N=d​k−1​​10​k−1​​+⋯+d​1​​10​1+d​0(0≤d​i≤9, i=0,⋯,k−1, d​k−1>0),请编写程序统计每种不同的个位数字出现的次 ...

  8. PAT乙级 1021 个位数统计

    给定一个 k 位整数 N=dk−1​10k−1+⋯+d1​101+d0​ (0≤di​≤9, i=0,⋯,k−1, dk−1​>0),请编写程序统计每种不同的个位数字出现的次数.例如:给定 N= ...

  9. PAT乙级(1021 个位数统计)

    给定一个 k 位整数 N=d​k−1​​10​k−1​​+⋯+d​1​​10​1​​+d​0​​ (0≤d​i​​≤9, i=0,⋯,k−1, d​k−1​​>0),请编写程序统计每种不同的个位 ...

最新文章

  1. ansible playbook lookups组件
  2. linux下如何查看系统和内核版本
  3. mysql注释符号按键,Shell 注释
  4. IDEA中记一次BuildProject不好使的解决过程
  5. 304不锈钢蒸玉米后一层黑色
  6. 软件项目管理:进度管理相关概念介绍
  7. android蓝牙多次后,android – 如何防止BluetoothGattCallback一次多次执行
  8. 揭牌!国字头高校正式落户南京!
  9. html代码style图片width,HTML Style columnWidth用法及代码示例
  10. resultmap的写法_Mybatis的ResultMap的使用
  11. Eclipse用法和技巧六:自动生成get和set方法1
  12. 嵌入式系统——电子设计
  13. 网页设计中常用的Web安全字体
  14. html返回顶部函数,网页中返回顶部代码(多种方法)另附注释说明
  15. 什么是数据库管理系统?
  16. ajax报502错误,ajax服务器返回502
  17. 一个小时学会画网络拓扑图(附标准素材)
  18. 轨道交通——信号知识——6202电气集中设备
  19. 文本框内容改变的绑定事件
  20. Curator实现分布式锁的基本原理

热门文章

  1. 让您和家人孩子远离灾祸的真正原理— — 受益终生!(转载)
  2. Grafana4.6.3 配置Alerting
  3. 配置并使用SharePoint 2010的文档转换功能
  4. 【观察】Akamai:做中国泛娱乐企业出海的“加速器”
  5. SpringBoot一条龙
  6. 智能购物车,让线下购物更加便利
  7. Polygon POS 桥实现原理
  8. sos的几种方案简析
  9. 谈谈对泛化误差的理解
  10. 计算机上面的东西爆满怎么清理,电脑C盘满了怎么清理?一招帮你搞定