题目描述
原题地址:A1073 Scientific Notation
中文版:B1024 科学计数法
解题思路
对所有情况分类讨论,考虑“指数 $e$ 是否大于零”以及“指数绝对值与有效数字位数 $k$ 大小比较”两个因素,可以分成三类:
- $e < 0$
- 在最前面需要补上 |e| 个 0, 在第一个数字之后添加小数点
- $e \geq 0 ; e \geq k$
- 在最后补上 $ e - k $ 个 0,不用添加小数点
- $e \geq 0 ; e < k$
- 在第 $e + 1$ 个数字后的位置添加小数点
易错点
- 先组合数字,再想办法在合适的位置插入小数点,比较不容易出错
- 正数不输出 “+” 号,负数要输出 “-“ 号
也许陌生的知识点
ans.insert(<插入位置>, '<插入的字符>');
- 实现在字符串特定位置插入一个字符
- 所需头文件: string
s.erase(s.begin(), s.begin() + 3);
- 删除字符串 [first, last) 范围的部分
- 所需头文件: string
代码示例:
1 |
|