帮我分析一下vb,答案是-10

[复制链接]
查看11 | 回复4 | 2013-6-28 19:19:11 | 显示全部楼层 |阅读模式
如果按照你给的这个程序运行的结果应该是1第一次循环输入a=30 b=20 ,因为a=val(b)a=20 所以第一次循环结束a=a*b=20*20=400 循环继续第二次循环的时候接着输入a=10 b=-1 因为a=val(b)a=-1 所以第二次循环结束a=-1*(-1)=1你说的答案是10 应该是要把b=inputbox("请输入b的值")
a=val(b)改成b=inputbox("请输入b的值")
b=val(b)按照改过的运行 第一次循环后a=30*20=600 此时不满足b=-1 循环继续 第二次循环后a=10*(-1)=-10...
回复

使用道具 举报

千问 | 2013-6-28 19:19:11 | 显示全部楼层
你这个有个do while的循环,第一次输a=30,b=20,由于b不等于-1,不满足条件,不输出a的值。然后你又输入a=10,b=-1,a=a*b=-10,这时候满足了b=-1的条件,所以跳出循环,执行print a得到-10的结果...
回复

使用道具 举报

千问 | 2013-6-28 19:19:11 | 显示全部楼层
其实你这个程序 除了 你在输入B值得时候输入了-1 否则你输入任何数,都是看不到结果的。 因为你的打印语句是在loop 之外。 建议你把 print a 放在 loop前面,你就可以看到你每次输入的数字,得到的不同的结果了...
回复

使用道具 举报

千问 | 2013-6-28 19:19:11 | 显示全部楼层
输入a,b的值,如果b不为-1,则继续循环输入,a,b直到输入的b为-1,然后把a*b打印出来。程序中的a=val(b)应该为b=val(b)吧?...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行