以下程序的功能是计算:s= 1+1/2+1/3+……+1/10,程序运行后输出结果错误,导致错误结果的程序行是
#include
int main()
{
int n;
float s;
s=1.0;
for(n=10;n>1;n--)
{
s=s+1/n;
}
printf("%6.4f
",s);
return 0;
}
#include
int main()
{
int n;
float s;
s=1.0;
for(n=10;n>1;n--)
{
s=s+1/n;
}
printf("%6.4f
",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); } 程序运行后输出结果错误,导致错误结果的程序行是( )。
- 要求以下程序的功能是计算: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 + 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); } 程序运行后,不能得到正确结果,以下修改方案正确的是
- 输入正整数n,计算s = 1/1! + 1/2! + 1/3! + ……+ 1/n!的值。 #include int main { int j, k, n; double f, s; scanf("%d", &n); s= (1) ; for (k=1; k<=n; k++) { f= (2) ; for(j=1; (3) ; j++) f= (4) ; s=s+1/f; } printf("sum=%f ", s); return 0; }
- 读程序并写结果。#include stdio.hlong fun(int n){ long s;if(n==1||n==2)s=2;elses=n-fun(n-1);return s;}int main(){ printf(%ld\n,fun(3)); return 0;}