以下程序拟实现计算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-04-01  20

问题 以下程序拟实现计算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+l;改为n=n*n;最终的结果s=2,与题目原意不同;选项A正确的修改了while循环条件,可以得到正确结果。故答案为A选项。
转载请注明原文地址:https://jikaoti.com/ti/rHd0FFFM
0

最新回复(0)