vb 题 急急急!!!

来源:百度知道 编辑:UC知道 时间:2024/06/14 06:14:03
1.private sub command1_click()
dim i as byte,j as byte ,n as byte
do
n=inputbox("n=","请输入1至九的整数")
loop while n < 1 or n > 9
for i=1 to n
print tab(n-i+1);
for j=1 to 2*i-1
print trim(str(i));
next j
nxet i
end sub

为什么是用 n < 1 or n > 9,而不是用n > 1 and n < 9 ???明明不是要求要是1至9之间的整数啊!!!!
搞不懂!!

2.Private Sub Form_Click()
Dim m As Integer, n As Integer, r As Integer
m = InputBox("请输入m的值"): n = InputBox("请输入n的值")
Print m;"和" ;n; "最大公约数是: "
r = m Mod n
Do Until r = o
m = n: n = r: r = m Mod n
Loop
Print n
End Sub
为什么是 do Until r = o,还有下面的式子
“m = n: n = r: r = m Mod n”是什么意思嘛????
最后为什么要print n??为什么是n??

1.
do
n=inputbox("n=","请输入1至九的整数")
loop while n < 1 or n > 9
这句意思就是如果n<1或者n>9那么一直循环下去(一直弹出inputbox重新输入)直到不符合条件结束。
a mod b就是得到a/b的余数

m = n: n = r: r = m Mod n
三句连写其实就是
m = n
n = r
r = m Mod n

Do Until r = o
m = n: n = r: r = m Mod n
Loop
就是不断地取余,直到r是0为止。
print:输出这个内容……
n是最后结果 所以要print n…………

do ...loop while(...)里面放的是非的条件。
即(...)里面的是DO...LOOP循环里的一个对立结果
假如集合A={1,2,3,4,5}
B={1,2,3}
我们要输入1,2,3;
其实要在do ...loop while(...)里面输入4,5.
而do...loop里面自动执行4,5。
总而言之,这是一个相反的调用。

说的挺详细的,我就不说了啊。