以下程序拟实现计算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);
}
程序运行后,不能得到正确结果,以下修改方案正确的是
#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);
}
程序运行后,不能得到正确结果,以下修改方案正确的是
举一反三
- 假设整型n已输入值。以下不能正确计算1*2*3*...*n的程序段是_______。 (1) for(i=1,s=1; i<=n; i++) s*=i; (2) i=1;s=1; while(i<=n) s*=i++; (3) i=0,s=1; do{ i++,s*=i; }while(i<=n); (4) for(i=1,s=1; ; i++) { s = s*i, if(i==n) break; }
- 下面程序的运行结果是()。#includeintmain(){inta,s,n,count;a=2;s=0;n=1;count=1;while(count<=7){n=n*a;s=s+n;++count;}printf(“%d”,s);return0;}
- 要求以下程序的功能是计算:s=1+1/2+1/3+…+1/100。 #include int main() { int n;float s; s=1.0; for(n=100;n>1;n--) s=s+1/n; printf(“%6.4f\n”,s); return 0; }
- 要求以下程序的功能是计算:s=1+1/2+1/3+……+1/10 #include void main() { int n; float s; s=1.0; for(n=10;n>1;n--) s=s+1/n; printf("%6.4f\n",s); } 程序运行后输出结果错误,导致错误结果的程序行是( )。
- 下面的程序是求1!+3!+5!+……+n!的和。 #include main { long int f,s; int i,j,n; (1) ; scanf("%d",&n); for(i=1;i<=n; (2) ) { f=1; for(j=1; j<=i;j++) (3); s=s+f; } printf("n=%d,s=%ld ",n,s); }