vb for循环2问题

来源:百度知道 编辑:UC知道 时间:2024/07/04 23:52:09
1.
Do until s = 10
n=n+1
a=a+n
s=s+a
loop
print n
结果是?

2.
private sub command1_click()
x=0
do until x = -1
a=inputbox("输入a值")
a=val(a)
b=inputbox("输入b值")
b=val(b)
x=inputbox("输入x值")
x=val(x)
a=a+b+c
loop
print a
end sub
程序运行后单击命令按钮,依次在输入对话框中输入5,4,3,2,1,-1,则输出结果为?

请详细说明过程谢谢。。

1.
Do until s = 10
n=n+1
a=a+n
s=s+a
loop
print n
运行过程,首先n,a,s默认为0
第一次s=0不等于10,执行循环
n=1
a=1
s=1
第一次结束,接着循环判断
第二次s=1不等于10,执行循环
n=2
a=3
s=4
第二次结束,接着循环判断
第三次s=4不等于10,执行循环
n=3
a=6
s=10
第三次结束,接着循环判断s=10跳出不执行循环

故n=3

2.
private sub command1_click()
x=0
do until x = -1
a=inputbox("输入a值")
a=val(a)
b=inputbox("输入b值")
b=val(b)
x=inputbox("输入x值")
x=val(x)
a=a+b+c
loop
print a
end sub
程序运行后单击命令按钮,依次在输入对话框中输入5,4,3,2,1,-1,则输出结果为?

这道题有技巧,do until x = -1,说明只有当x = -1时跳出不执行循环,值是在输入对话框中输入的,对下一循环的值没有影响,x不为-1时就可以忽略
则当在输入对话框中输入2,1,-1(x = -1),结果就是最后输出的值
c默认为0
故a=a+b+c=2+1+0=3

1.
Do until s = 10
n=n+1
a=a+n
s=s+a
loop
pri