选择题 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的循环条件错误,在选项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。