课程首页 › 第3部分 › 第52课

第52课 1.7e+007不是乱码

第3部分 不辞辛苦 · 循环结构· 知识点:for循环、科学记数法

1.7e+007不是乱码(for循环、科学记数法)

编程世界的研究员分离出一个“&”微生物,这个微生物以每小时裂变一次的速度快速繁殖,并且裂变出的微生物都不会死亡,似乎具备永生的力量。研究员仔细地对它进行了24小时的研究,记录着每小时微生物数量的变化,并尝试了各种办法,最终找到了可以杀死这种微生物的办法。

试着用程序输出微生物每小时的数量。

裂变的微生物

插图

运行程序:

1小时,微生物数量是:2

2小时,微生物数量是:4

3小时,微生物数量是:8

4小时,微生物数量是:16

5小时,微生物数量是:32

6小时,微生物数量是:64

7小时,微生物数量是:1.3e+002

8小时,微生物数量是:2.6e+002

9小时,微生物数量是:5.1e+002

10小时,微生物数量是:1e+003

11小时,微生物数量是:2e+003

12小时,微生物数量是:4.1e+003

13小时,微生物数量是:8.2e+003

14小时,微生物数量是:1.6e+004

15小时,微生物数量是:3.3e+004

16小时,微生物数量是:6.6e+004

17小时,微生物数量是:1.3e+005

18小时,微生物数量是:2.6e+005

19小时,微生物数量是:5.2e+005

20小时,微生物数量是:1e+006

21小时,微生物数量是:2.1e+006

22小时,微生物数量是:4.2e+006

23小时,微生物数量是:8.4e+006

24小时,微生物数量是:1.7e+007

(1)total*=speed→total=total*2:微生物总是按照每小时增加一倍的速度繁殖。

(2)for(int hour=1; hour<=hours; hour++):通过for循环从1小时一直到24小时。

(3)setprecision(2):用于设置输出的有效位数(需要头文件),例如,1.26输出两位有效数字是1.3。

提出思考

7小时输出的1.3e+002是什么呀?

1.3e+002是科学记数法的表示方式,用来表示一个数的数量级和精度。

●1.3是基数,表示一个数的主体部分,因为setprecision(2),所以只取了两位有效数字。

●e是用于表示指数的符号。

●+002表示指数的值,也就是10的多少次方。在这种情况下,+002表示10的2次方,即100。

因此,1.3e+002可以理解为1.3乘以10的2次方,即130。这是一个用科学记数法表示的数,表示数量级为100,并且精确到小数点后一位。科学记数法通常用于表示非常大或非常小的数,以便更容易理解它们的数量级。

有+就有-,0.0000345用科学记数法表示3.4e-005→3.4乘以10的-5次方。

插图

巩固练习

(1)以下程序的输出结果是什么?

插图

输出:_____________________________________________________________ _

(2)在科学记数法中,2.5e3表示什么?()

A.2.5乘以10的3次方

B.2.5除以10的3次方

C.2.5乘以3次方

D.2.5除以3次方

(3)我们正在研究一种放射性元素的衰变过程。这种元素每小时会以一定的比例进行衰变,衰变率为每小时减少50%。初始时,拥有1克这种放射性元素。希望你编写一个程序来模拟并计算多少小时后剩余的元素质量会小于0.00001克。