选择题
21.
以下程序拟实现计算s=1+2*2+3*3+…+n*n,直到s>1000为止。
#include<stdio.h>
main()
{ int s,n;
s=1:
n=1;
do
{ n=n+1;s=s+n*n;}
while(s>1000);
printf("s=%d\n",s);
}
程序运行后,不能得到正确结果,以下修改方案正确的是______。
A、
把“while(s>1000);”改为“while(s<=1000);”
B、
把“s=1;”改为“s=0;”
C、
把“n=1;”改为“n=0;”
D、
把“n=n+1;”改为“n=n*n;”
【正确答案】
A
【答案解析】
题目中程序不能实现预期功能是因为while的循环条件错误,在选项B中,把“s=1;”改为“s=0;”的最终结果是s=4,与题目原意不同;在选项C中,把“n=1;”改为“n=0;”的最终结果是s=2,与题目原意不同;在选项D中,把“n=n+1;”改为“n=n*n;”的最终结果是s=2,与题目原意不同;选项A,正确地修改了while循环条件,可以得到正确结果。故答案为选项A。
提交答案
关闭