当前位置: 首页 > news >正文

「Mac玩转仓颉内测版12」PTA刷题篇3 - L1-003 个位数统计

本篇将继续讲解PTA平台上的题目 L1-003 个位数统计,通过对数字的处理与统计,掌握基础的字符串操作与数组计数功能,进一步提升Cangjie编程语言的实际应用能力。


关键词
  • PTA刷题
  • 数字统计
  • 数组操作
  • 字符串处理
  • 编程技巧

一、L1-003 个位数统计

题目描述:给定一个正整数,统计该数字中每个数字0-9出现的次数。

  • 输入格式:一个非负整数 N
  • 输出格式:按照从小到大的顺序,输出每个数字出现的次数,每个数字一行,格式为:数字: 次数

解题思路
  1. 转为字符串处理:将输入的整数转换为字符串,逐字符遍历统计每个数字出现的次数。
  2. 数组计数:使用一个长度为10的数组来记录数字0-9的出现次数,遍历完成后输出结果。
  3. 格式化输出:按题目要求格式化输出统计结果。
代码实现
package cjcDemoimport std.console.*// 统计每个数字出现次数的函数
func countDigits(num: String): Array<Int64> {// 20241114-当前日期的PTA使用这行// var counts = Array<Int64>(10, item:0)// 0.56.4版本的SDK使用以下行来初始化数组var counts = Array<Int64>(10, repeat: 0) let num0 = '0'for (i in 0..num.size) {counts[Int64(num[i] - num0[0])]++}return counts
}main(): Int64 {var input = Console.stdIn.readln().getOrThrow()let counts = countDigits(input)for (i in 0..10) {if (counts[i] > 0) {println("${i}:${counts[i]}")}}return 0
}

代码详解
  1. 数组计数:定义长度为10的数组,用于记录数字0-9的出现次数。
  2. 遍历字符串:通过遍历字符串中的每个字符,将其转换为对应的整数值,并增加相应的计数。
  3. 格式化输出:按0-9的顺序输出每个数字的出现次数,格式为 数字: 次数

示例执行

输入:

100311

输出:

0:2
1:3
3:1

通过这道题目,可以熟悉字符串的处理以及数组计数的使用,对于处理类似的数字统计问题具有很好的参考价值。


小结

本篇通过解决 L1-003 个位数统计 题目,进一步巩固了对字符串处理、数组计数的理解与应用。这类题目非常适合用于练习基础编程技巧,尤其是数据统计的相关操作。


下篇预告

下一篇将继续进行PTA刷题,讲解 L1-004 计算摄氏温度 的解题思路与实现,敬请期待 「Mac玩转仓颉内测版13」PTA刷题篇4 - L1-004 计算摄氏温度


上一篇: 「Mac玩转仓颉内测版11」PTA刷题篇2 - L1-002 打印沙漏
下一篇: 「Mac玩转仓颉内测版13」PTA刷题篇4 - L1-004 计算摄氏温度

作者:SoraLuna
链接:https://www.nutpi.net/thread?topicId=157
來源:坚果派
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


http://www.lryc.cn/news/484524.html

相关文章:

  • 飞书文档只读限制复制
  • 【WPF】Prism学习(二)
  • 【鸿蒙开发】第二十一章 Location位置服务
  • 《目标检测》R-CNN网络基础(RCNN,Fast-RCNN)
  • iOS中的定位实现(逆地理编码)及Info.plist位置权限详解
  • 【从零开始的LeetCode-算法】3270. 求出数字答案
  • Web认证机制 Cookie、Token、Session、JWT、OAuth2 解析
  • Docker 基础命令介绍和常见报错解决
  • 如何轻松导出所有 WordPress URL 为纯文本格式
  • 【进程概念精讲】
  • 帽子矩阵--记录
  • MySQL深入:B+树的演化、索引和索引结构
  • axios 实现 无感刷新方案
  • Python 三种方式实现自动化任务
  • 新型创业模式:退休创业。没有工资,不用投资,有时间就干,不强制做,赚钱按贡献分。
  • Android 项目依赖库无法找到的解决方案
  • 在Node.js中如何使用TypeScript
  • 链表两数加python
  • 免费的可以薅羊毛的cloudflare反向代理教程
  • 【每日刷题】Day155
  • EXCEL延迟退休公式
  • 开源对象存储新选择:在Docker上部署MinIO并实现远程管理
  • Spring Cloud生态圈
  • AI视觉小车基础--4.舵机控制(云台控制)
  • 【Rust中的项目管理】
  • 【原创】如何备份和还原Ubuntu系统,非常详细!!
  • 成都栩熙酷网络科技抖音小店是真的
  • Python 爬虫数据清洗与存储:基础教程
  • ssm122基于Java的高校教学业绩信息管理系统+jsp(论文+源码)_kaic
  • Java 基础知识