关于VB程序设计题,运行结果怎么为19 ?初学,求详解!

2025-03-02 11:25:59
推荐回答(2个)
回答1:

a = 1 这里a的初值是1
For i = 1 To 5 注意:在这个循环中需要调用fun1()函数。
    Call fun1(a)
Next i
在fun1()函数中,函数的变量是x,但传入的变量是a
y = 2 y的值是2
Do
    x = x + y 第一次:x=1+2,第二次:x=3+2,第三次:x=5+2,第四次:x=7+2,第五次:x=9+2
  Loop Until x > 10 (这里循环中必须判断x是否大于10,如果没有大于10,不会退出循环,直到x的值大于10,才会退出循环)
这时x的值是11,For的第一次循环完成
进入For的第二次循环,又调用fun1()函数,在fun1()函数中完成x=x+y的运算,x=11+2,结果是13,由于x>10所以退出Do循环。
进入For的第三次循环,再次调用fun1()函数,在fun1()函数中完成x=x+y的运算,x=13+2,结果是15,由于x>10所以退出Do循环。
进入For的第四次循环,再次调用fun1()函数,在fun1()函数中完成x=x+y的运算,x=15+2,结果是17,由于x>10所以退出Do循环。
进入For的第五次循环,再次调用fun1()函数,在fun1()函数中完成x=x+y的运算,x=17+2,结果是19,由于x>10所以退出Do循环。
For完成五次循环,退出循环,Print a 打印结果是19

回答2:

你想让结果是多少?
你的代码在运行时
第1次循环时,a=11,因为你的 fun1(x) 中, 代码x=x+y执行了5次,让输入的结果大于10
第2次循环时,a=13,因为 fun1(x) 中,输入的x的已经大于10,所以代码x=x+y只执行1次,后面一样
第3次循环时,a=15
第4次循环时,a=17
第5次循环时,a=19
所以输出a=19