VB运算题,答案已知,请讲解一下第一行第二行的运算过程

题目如图所示:... 题目如图所示: 展开
 我来答
网海1书生
科技发烧友

2019-06-07 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26230

向TA提问 私信TA
展开全部

第一行:

n=1, i=9

sub2(i, n) = sub(9, 1)

则sub2内,x=9, y=1

然后For循环执行两次,第一次:

n=n+x=0+9=9

x=x-1=9-1=8

第二次:

n=n+x=9+8=17

x=x-1=8-1=7

循环结束

y=n-y=17-1=16

sub2运行结束,此时i=7,n=16

所以第一行的打印结果为 7 16

第二行:

n=16, i=8

sub2(i, n) = sub(8, 16)

则sub2内,x=8, y=16

然后For循环执行两次,第一次:

n=n+x=17+8=25

x=x-1=8-1=7

第二次:

n=n+x=25+7=32

x=x-1=7-1=6

循环结束

y=n-y=32-16=16

sub2运行结束,此时i=6,n=16

所以第二行的打印结果为 6 16

追问
但是答案里第二行的结果是4,12
追答

是啊,是我疏忽了,第一行完毕后循环变量i已经不再是8了。我改一下:

第二行:

n=16, i=6

sub2(i, n) = sub(6, 16)

则sub2内,x=6, y=16

然后For循环执行两次,第一次:

n=n+x=17+6=23

x=x-1=6-1=5

第二次:

n=n+x=23+5=28

x=x-1=5-1=4

循环结束

y=n-y=28-16=12

sub2运行结束,此时i=4,n=12

所以第二行的打印结果为 4 12

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式