以下程序拟实现计算s=1+2*2+3*3+…+n*n+…,直到s>;1000为止。
程序运行后,不能得到正确结果,以下修改方案正确的是( )。
A.把while(s>lOOO);改为while(s<=1000);
B.把s=1;改为s=0;
C.把n=1;改为n=0;
D.把n=n+1;改为n=n$n;
第1题:
执行以下的循环后输出的值为( )。 public class Sun { public static void main(String args[ ]) { int m=1000,s=0,n=0; do{ n=n+1; s=s+(int)Math.pow(2,n); }while(s<=m); System.out.println("n="+n+","+"s="+s); } }
A.n=9,s=1000
B.n=8,s=1022
C.n=9,s=1022
D.n=8,s=1000
第2题:
有以下程序
#include <stdio.h>
int fun(char s[ ])
{ int n=0;
while(*s<='9'&&*s>='0') {n=10*n+*s-'0';s++;}
retum(n);
}
main( )
{ char s[10]={'6','1','*','4','*','9','*','0','*'};
printf("%d\n",fun(s));
}
程序的运行结果是
A.9
B.61490
C.61
D.5
第3题:
有人编写了如下程序:
Private Sub Form. Click( )
Dim s As Integer,x As Integer
s=0
x=0
Do While S=1000
x=x+l
s=s+x^2
Loop
Print s
End Sub
上述程序的功能是:计算s=1+22+32+…+n2+…,直到s>10000为止。程序运行后,发现得不到正确的结果,必须进行修改。下列修改中正确的是( )。
A.把x=0改为x=1.
B.把Do While s=10000改为Do While s<=10000
C.do="" while="" s="">10000
D.交换x=x+1和s=s+x^2的位置
第4题:
执行以下的循环后输出的值为( )。 public class Sun { public static void main (String args[ ]) { int m=1000, s=0, n=0; do{ n=n+l; s=s+(int)Math.pow(2,n); }while (s<=m); System.out.println("n="+n+","+"s="+s); } }
A.n=9, s=1000
B.n=8, s=1022
C.n=9, s=1022
D.n=8, s=1000
第5题:
有以下程序: #include <stdio.h> int fun(char s[]) { int n=0; while(*s<='9'&&*s>='0') {n=10*n+*s-'0';s++;} return(n); } main() { char s[10]={'6','1','*','4','*','9','*','0','*'}; printf("%d\n",fun(s)); } 程序的运行结果是( )。
A.9
B.61490
C.61
D.5