PTA- - -个位数统计(C语言)

本文介绍了解决PTA平台上关于统计数字每个位上数字出现次数的C语言代码实现,通过初始化计数数组并遍历输入数字字符串来计算和输出结果。
摘要由CSDN通过智能技术生成

Hello,好久没更新啦,今天给大家讲解一下PTA平台上面的“个位数统计”这道题吧~

题目是要统计一个数字每个位上数字出现的次数。下面是一个解决方案的思路和相应的 C 语言代码:

思路:

  1. 初始化一个大小为10的数组,用于计数每个数字(0-9)出现的次数。
  2. 读取输入的数字N作为字符串,这样可以处理超长数字并逐个字符检查。
  3. 遍历字符串,将每个字符转换为整数索引,并在计数数组对应索引处递增。
  4. 遍历计数数组,按照题目要求的格式打印出现次数不为0的数字及其计数。
#include <stdio.h>
#include <string.h>

int main() {
    char N[1001]; // 由于数字可能非常大,我们将其作为字符串读入
    int count[10] = {0}; // 初始化计数数组
    scanf("%s", N); // 读入数字字符串

    // 遍历数字字符串
    for (int i = 0; N[i] != '\0'; i++) {
        count[N[i] - '0']++; // 更新计数数组,'0'-'0' = 0, '1'-'0' = 1, ... '9'-'0' = 9
    }

    // 输出每个数字及其出现的次数
    for (int i = 0; i < 10; i++) {
        if (count[i] > 0) { // 只有当某个数字出现次数大于0时才打印
            printf("%d:%d\n", i, count[i]);
        }
    }

    return 0;
}

上面的代码首先读取输入的整数N作为一个字符串。之所以用字符串而不是整数类型,是因为题目提到N可以非常大,超过普通整数类型的存储范围。然后代码中使用count数组对每个出现的数字进行计数。最后,代码遍历count数组并打印出现次数。

您可以使用这个代码,并根据您编程环境的需要进行必要的调整。然后编译并运行以检查它是否符合题目要求。希望能够帮助到小伙伴提供更多的解题思路哦,关注叶秋学长不迷路,学长带你们上高速💕

  • 26
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叶秋学长

走过路过不要错过

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值