乙级的题目训练主要用来熟悉编程语言的语法和形成良好的编码习惯和编码规范。从小白开始逐步掌握用编程解决问题。
PAT (Basic Level) Practice 1101 B是A的多少倍
问题分析
题设明确要求按照其给定的步骤变换给定的正整数, 然后输出变换后的正整数是输入正整数的多少倍。
所以重点在于转换逻辑的编写。由于给定的正整数不大于10的9次方, 所以可以用整型存储。
但是涉及到部分数位的移动, 使用整型时获取各个数位的数字时需要从后往前, 这里不太适合,
所以最佳方式时使用字符串存储正整数, 变换之后得到新的字符串, 然后将两个字符串转换为整型后相除。
完整描述步骤
- 获取输入: 正整数A, 需要截取的位数D
- 初始化正整数B(字符串形式)
- 从A的倒数第D位开始到最后一位:
- 将当前数字字符加到字符串B的末尾
- 从A的第一位开始到倒数第D位:
- 将当前数字字符加到字符串B的末尾
- 转换A和B为数值类型
- 输出B除以A的结果(保留2位小数)

本文详细解析了PAT乙级考试中的1101题,通过问题分析、完整步骤描述及伪代码,阐述如何处理正整数的数位变换,并使用C语言实现,输出变换后数字是原数的多少倍。
订阅专栏 解锁全文

2991

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



