「Mac玩转仓颉内测版12」PTA刷题篇3 - L1-003 个位数统计
2024-11-14 23:05:45
4次阅读
0个评论
最后修改时间:2024-11-14 23:16:47
本篇将继续讲解PTA平台上的题目 L1-003 个位数统计,通过对数字的处理与统计,掌握基础的字符串操作与数组计数功能,进一步提升Cangjie编程语言的实际应用能力。
关键词
- PTA刷题
- 数字统计
- 数组操作
- 字符串处理
- 编程技巧
一、L1-003 个位数统计
题目描述:给定一个正整数,统计该数字中每个数字0-9出现的次数。
- 输入格式:一个非负整数 N。
- 输出格式:按照从小到大的顺序,输出每个数字出现的次数,每个数字一行,格式为:数字: 次数。
解题思路
- 转为字符串处理:将输入的整数转换为字符串,逐字符遍历统计每个数字出现的次数。
- 数组计数:使用一个长度为10的数组来记录数字0-9的出现次数,遍历完成后输出结果。
- 格式化输出:按题目要求格式化输出统计结果。
代码实现
package cjcDemo
import 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
}
代码详解
- 数组计数:定义长度为10的数组,用于记录数字0-9的出现次数。
- 遍历字符串:通过遍历字符串中的每个字符,将其转换为对应的整数值,并增加相应的计数。
- 格式化输出:按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 來源:坚果派 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
00
- 0回答
- 0粉丝
- 0关注
相关话题
- 「Mac玩转仓颉内测版10」PTA刷题篇1 - L1-001 Hello World
- 「Mac玩转仓颉内测版11」PTA刷题篇2 - L1-002 打印沙漏
- 「Mac玩转仓颉内测版14」PTA刷题篇5 - L1-005 考试座位号
- 「Mac玩转仓颉内测版13」PTA刷题篇4 - L1-004 计算摄氏温度
- 「Mac玩转仓颉内测版1」入门篇1 - Cangjie环境的搭建
- 「Mac玩转仓颉内测版3」入门篇3 - Cangjie的基本语法与结构
- 「Mac玩转仓颉内测版9」入门篇9 - 综合案例篇
- 「Mac玩转仓颉内测版4」入门篇4 - Cangjie变量命名规则
- 「Mac玩转仓颉内测版5」入门篇5 - Cangjie控制结构(上)
- 「Mac玩转仓颉内测版6」入门篇6 - Cangjie控制结构(中)
- 「Mac玩转仓颉内测版7」入门篇7 - Cangjie控制结构(下)
- 「Mac玩转仓颉内测版8」入门篇8 - Cangjie函数与方法
- 「Mac玩转仓颉内测版2」入门篇2 - 编写第一个Cangjie程序
- 元服务—基础篇(3)
- 元服务—实践篇(1)