运行下列程序,显示的结果是( )。 求详细过程讲解。

s=0ForI=1To5Forj=1ToIFork=jTo4s=s+1NextkNextjNextIMsgBoxsA)4B)5C)38D)40答案是D... s=0

For I=1 To 5
  For j=1 To I
    For k=j To 4
      s=s+1
    Next k
  Next j
Next I
MsgBox s
A) 4
B) 5
C) 38
D) 40

答案是D
展开
 我来答
掌心童话
2013-03-24 · TA获得超过291个赞
知道小有建树答主
回答量:133
采纳率:0%
帮助的人:55.4万
展开全部

      给你看图片会比较清晰,最内层循环j~4有四种情况,如上图,是1~4,2~4,3~4, 4~4,每种情况累加给s的值就是4,3,2,1。  当i=1时,第二层循环走一遍1~4,我们就在1~4前画一笔“正”,当i=2时,走一遍1~4,走一遍2~4,各画一笔正。。。。  一直到i=5时,别忘了四种情况再各画一笔。

最后就是每种情况的值乘以正的笔数 5*4+4*3+3*2+2*1=40 



      我会告诉你我花了很长时间把公式推出来了吗? 嘿嘿,当5不再是5,是m, 4不再是4,是n的情况下,条件(m>=n) s=n*(mn-n^2+m+n)/2 + 1^2+2^2+3^2+...+(n-1)^2。

算下 4*(5*4-4*4+5+4)/2+1+4+9 =2*(20-16+5+4)+14=26+14=40


其实m<n也行,就是把公式中不对称的n换成m就行,s=m*(mn-m^2+m+n)/2+ (1~m-1的平方累加)

1663319
2013-03-23 · 超过13用户采纳过TA的回答
知道答主
回答量:69
采纳率:0%
帮助的人:37.2万
展开全部
vb for三层循环嵌套吧 答案是40。答案是我把代码代入得出来,可没有人有功夫一步步推算嵌套的代码。思路是很简单的。 首先l为1, 这时j为1 ,k从1到4循环累加,由于此时j从1 to1,j循环结束。此时l为2,j从1 to2 ,k从1to4,再从2to4累加。。之后类似这样啦,s的作用是统计进行了多少次这样的计算,有40次,谁闲的有功夫一步步算,理解for嵌套原理就好了。手算太浪费时间了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-03-23
展开全部
这个不清楚 答案是对的!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式