写出运算结果:s←0 i←1while i≤20s←s+ii←i+1End while prints

发布时间:2021-02-22 15:04:58

写出运算结果:s←0 i←1while i≤20s←s+ii←i+1End while prints,is←0i←0while i ≤20i←i+1s←s+iend while print s,i 这两题都是s的和求不出!第一个的s是不是1+ 1+2 +1+2+3...怎么算?二的s 怎么我也得出这个1+ 1+2 +1+2+3...到底哪里错了!还有i的取值是21还是20?

网友回答

做这种题 可以模拟计算机“思考”过程,计算机 没有人脑聪明 他们是 “给什么就留什么”即 只记录当前数值 不会把之前的计算过程也记住
程序1:s=0,i=1.
然后判断 i 值 如果小于等于20 进入 while 循环
循环1:s=s+i=0+1=1,i=i+1=1+1=2
循环1结束再次判断 i 此时,i=2 ≤20 继续循环(注意:程序中的所有运算 只代入字母所表示的当前值 只进行赋值)
循环2:s=s+i=1+2=3,i=i+1=2+1=3
循环2结束再次判断 i 此时,i=3 ≤20 继续循环
循环3:s=s+i=3+3=6,i=i+1=3+1=4
循环3结束以此类推...
当i=20 时候 依然进入循环
此时 s=s+i=s+20,i=i+1=21
再次判断 i=21 不满足条件,不进入循环 此时输出s 和i 的数值
所以 s=(0+1)+2+3+4+...+20,i=21
()中是循环一种的赋值公式
程序2 依照程序1的方法推导
注意:i 的初始值为0 while 循环中的先后顺序
结果应该是:s=(0+1)+2+3+...+21,i=21
程序2 中 s 比程序1 中s 大21
======以下答案可供参考======
供参考答案1:
第一个程序是1加到20,而第二个程序是2加到21,。区别在于进入循环后先+1还是后+1再做和。
供参考答案2:
两个都一样只不过第二个要输出s
i=21s=1+2+3+···+20
以上问题属网友观点,不代表本站立场,仅供参考!