蔡依林怎么红的:vb的do while问题

来源:百度文库 编辑:高校问答 时间:2024/05/02 04:57:02
我国人口有13亿,年增长0.8%,多少年后人口超过26亿?
private sub form_click()
RenKou=13
NianShu=0
do while renkou < 26
renkou=renkou*1.008
nianshu=nianshu+1
loop
print renkou,nianshu
end sub
问:条件是renkou<26,可是输出的结果为26.00218(即大于26),这是什么原因?如何解决呢?多谢!
do
renkou=renkou*1.008
nianshu=nianshu+1
loop while renkou<26
print renkou,nianshu
是这样的吗?结果没变啊.……

这是正常现象
你若想得到renkou结果很接近26并且小于26,则
private sub form_click()
RenKou=13
NianShu=0
RenKou1=13
NianShu1=0
do while renkou < 26
RenKou1=renkou
renkou=renkou*1.008
NianShu1=nianshu
nianshu=nianshu+1
loop
print RenKou1,NianShu1
end sub

while renkou < 26 放在do后面是说只要循环进行人口<26就进行循环,循环后当然人口可以大于26
你只要把while renkou < 26 ,放到loop后面就行了

先执行,后判断?好像也要超过吧。。。

弄个变量记录前一个循环的值,循环外加个IF,比较笨的方法,但肯定能用

这是正常,
循环前可能是25.795813492063492063492063492063
没有超过。

你的结果应该正确