乙级的题目训练主要用来熟悉编程语言的语法和形成良好的编码习惯和编码规范。从小白开始逐步掌握用编程解决问题。
问题分析
题目要求统计的其实是: 统计给定整数各个数位上数字的出现次数。
这意味着: 我们需要获取这个数各个数位上的数字。
获取给定整数各个数位上的数字
我们之前的题目中提过, 获取各个数位数字, 可以考虑把数当数值处理, 也可以把数存储成字符串处理.
如果之后要从左往右访问各个数字或者需要排序数字, 则当作字符串处理会更方便. 这里没有这些需求, 所以数字和字符串都可以.
但是当作数值处理还是考虑数值表示范围(数值溢出)的问题, 这里的整数最大可以有1000位, 可能溢出, 所以采用字符串处理方案.
完整描述步骤
- 获取给定整数, 储存为字符串
- 依次访问字符串的各个字符, 将字符对应的数字记录下来
- 依次访问记录的数字和数字出现的次数, 将出现次数非0的数字和频率打印出来
伪代码描述
- get input number (as string)
- se

这篇博客详细解析了PAT乙级考试中1021题的解决方案,主要讨论如何统计给定整数各个数位上数字的出现次数。博主建议使用字符串处理而非数值处理,以避免溢出问题,并提供了完整的步骤、伪代码描述以及通过考试的C语言代码。
订阅专栏 解锁全文
2972

被折叠的 条评论
为什么被折叠?



