一道VB菜鸟题
来源:百度知道 编辑:UC知道 时间:2024/06/08 12:57:09
拜托了!
Private Sub Form_Click()
Dim i As Single
i = 13
s = 0
Do While i <= 20
i = i * (1 + 0.01)
s = s + 1
Loop
Print s
End Sub
一三楼都是错误的 答案是44年 题目要求增长到20亿 不是不超过20亿 所以要加个等号 虽然这题没刚好等于20亿 但程序就应该这么个思路去做~以免有错产生i<=20 底数是13亿 一楼却是12.。
三楼的这种编程思路不好~ 像这种不知道循环几次的问题 最好还是不要用FOR
要是20亿是程序做好时外部输入的 那你程序只能循环100次 那么超过35亿也就是100年~你的程序就会出错了。
二楼 13亿 还真得写那么多个零吗?不知道2数同时扩大或缩小相同的倍数 它们之间的关系是不变的吗? 13亿和20亿完全可以缩小至13和20来计算
'寒,没注意,搞错了,修改如下
Private Sub Command1_Click()
Dim n
n = 13
For i = 0 To 100
n = 1.01 * n
If n >= 20 Then MsgBox i & "年后,人口增长到20亿!": Exit For
DoEvents
Next i
End Sub
Private Sub Form_Click()
Dim i As Single
i = 12
s = 0
Do While i < 20
i = i * (1 + 0.01)
s = s + 1
Loop
Print s
End Sub
Dim 人口 As Long, i As Integer
人口 = 1300000000
i = 0
Do While 人口 < 2000000000
人