博客
关于我
PAT
阅读量:521 次
发布时间:2019-03-08

本文共 852 字,大约阅读时间需要 2 分钟。

为了统计给定k位整数N中每种个位数字的出现次数,我们可以将该数字作为字符序列处理,并遍历其中的每个字符,统计每个数字出现的次数。以下是详细的解决方案:

方法思路

  • 输入处理:将输入的整数作为字符数组读取,这样可以有效处理非常大的数(超过整数类型的范围)。
  • 统计数组初始化:创建一个长度为10的数组,索引范围0-9,分别统计0到9这10个数字的出现次数。
  • 遍历字符数组:逐个字符转换为数字并更新统计数组。
  • 按顺序输出结果:按升序输出每个数字及其对应的统计次数,排除次数为0的情况。
  • 解决代码

    #include 
    int main() { char num_str[1001] = {0}; int a[10] = {0}; scanf("%s", num_str); for (int i = 0; num_str[i] != '\0'; ++i) { int num = num_str[i] - '0'; if (num >= 0 && num <= 9) { a[num]++; } } for (int j = 0; j < 10; ++j) { if (a[j] != 0) { printf("%d:%d\n", j, a[j]); } } return 0;}

    代码解释

    • 输入处理:使用scanf读取输入,将其存储在num_str数组中。num_str的长度设为1001,以应对最长1000位的输入。
    • 统计初始化:数组a长度为10,用于存储每个数字0-9的出现次数。初始化时每个位置都设为0。
    • 字符遍历:逐个字符处理,每个字符转换为数字后,更新对应的统计数组。
    • 结果输出:按顺序检查每个数字的统计次数,排除0次的情况,输出结果。

    这种方法高效且直接,能够处理非常大的整数,确保每个数字的统计准确,并按要求输出结果。

    转载地址:http://hmyiz.baihongyu.com/

    你可能感兴趣的文章
    Python 使用pymongo操作mongodb库
    查看>>
    ERROR 1840 (HY000) at line 24: @@GLOBAL.GTID_PURGED
    查看>>
    c++继承与派生习题答案
    查看>>
    PROTEUS编译C51程序报L121错误的解决方法
    查看>>
    虚拟机Centos6开机黑屏解决方法
    查看>>
    linux下达梦数据库安装和使用步骤
    查看>>
    2024:【例4.10】末两位数
    查看>>
    第123天学习打卡(Redis 测试性能 基础知识 Redis-Key String List)
    查看>>
    “ModuleNotFoundError: No module named ****“问题分析和解决思路
    查看>>
    Linux系统部署Grafana
    查看>>
    限时删!字节总监总结一套目标检测、卷积神经网络和OpenCV学习资料(教程/PPT/代码)...
    查看>>
    设计模式-软件设计规则
    查看>>
    python中的循环—for循环
    查看>>
    Java-类加载过程
    查看>>
    BUU-MISC-认真你就输了
    查看>>
    BMZ-MISC-解不开的秘密
    查看>>
    BUU-MISC-caesar
    查看>>
    BUU-WEB-[极客大挑战 2019]Upload
    查看>>
    【专题3:电子工程师 之 上位机】 之 【4.信号与槽 - 自定义信号槽(重点)】
    查看>>
    【专题2:电子工程师 之 上位机】 之 【36.事件重载】
    查看>>