下列程序执行后输出的结果是______.i=1S=0WHILE S<=100S=S+i 2 i=i+1WENDPRINT iEND

下列程序执行后输出的结果是______.i=1S=0WHILE S<=100S=S+i 2 i=i+1WENDPRINT iEND,第1张

当i=1,S=0时,满足进入循环的条件,执行循环体后,S=1,i=2

当S=1,i=2时,满足进入循环的条件,执行循环体后,S=5,i=3

当S=5,i=3时,满足进入循环的条件,执行循环体后,S=14,i=4

当S=14,i=4时,满足进入循环的条件,执行循环体后,S=30,i=5

当S=30,i=5时,满足进入循环的条件,执行循环体后,S=55,i=6

当S=55,i=6时,满足进入循环的条件,执行循环体后,S=91,i=7

当S=91,i=7时,满足进入循环的条件,执行循环体后,S=140,i=8

当S=140,i=8时,不满足进入循环的条件,

故输出的i=8

故答案为:8

f()中的i是static,静态局部变量,所以每次调用函数之后f()中的i并不被销毁,所以当main函数中的for循环第一次循环时,f()中的i=1,f()=s=1;第二次时f()中的i=2,f()=s=2;第三次时f()中的i=3,f()=s=3;第四次时f()中的i=4,f()=s=4;第五次时f()中的i=5,f()=s=5;注意这里每次调用函数时谁都重新变为1,又因为s+=i在i++之前,所以每次都是1+前一次i的值,所以a=1+2+3+4+5=15

算法是一样。但结果不一样。

算法都是给定范围内自然数累加;不一样的是和值起点。第一个是好比是从1(n)一直往下加;第二个是从2(n+1)一直往下累加。

数值说明:

a: s=0,i=1--->s=1,i=2-->s=3,i=3……

b: s=0,i=1--->i=2,s=2-->i=3,s=5……

所以i值是相等的,s值是b的比a的多1

c语言中相当于do……while语句

以上就是关于下列程序执行后输出的结果是______.i=1S=0WHILE S<=100S=S+i 2 i=i+1WENDPRINT iEND全部的内容,包括:下列程序执行后输出的结果是______.i=1S=0WHILE S<=100S=S+i 2 i=i+1WENDPRINT iEND、int f() { static int i=0; int s=1; s+=i; i++; return s; } main() { int i,a=0; for(i=0;i<5;i++) a+=f、一般的循环框图中,好比S=0,i=1,啊S=S+i,i=i+1,i>101,(否则返回有啊的地方)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9375909.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存