以下程序拟实现计算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;}  

admin2022-10-24  12

问题 以下程序拟实现计算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选项。
转载请注明原文地址:https://kaotiyun.com/show/DXkp777K
0

最新回复(0)