以下程序拟实现计算s=1+2*2+3*3+…+n*n+…,直到s>1000为止。 #include main() { int s,n; s=1: n=1; do {n=n+1;s=s+n*n;}

admin2019-01-11  19

问题 以下程序拟实现计算s=1+2*2+3*3+…+n*n+…,直到s>1000为止。
    #include
    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/JKxp777K
0

相关试题推荐
最新回复(0)