, fun(50)); }
举一反三
- 函数viod fun(float * sn,int n)的功能是:根据以下公式计算S,计算结果通过形参指针sn传回;n通过形参传入,n的值大于等于0。请填空。 s=1-1/3+1/5-1/7+…1/(2n+1) void fun(float * sn,int n) { floats=0.0,w,f=-1.0; int i=0; for(i=0;i<=n;i+ +) { f= 【19】 * f; w=f/(2i+1); s+ +=w; } 【20】 =s; }
- 读程序并写结果。#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;}
- 以下程序拟实现计算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); } 程序运行后,不能得到正确结果,以下修改方案正确的是
- 下列程序的输出结果是【 】。 long fun(int n) { long s; if(n==1||n==2) s=2; else s=n+fun(n-1); return s; } int main() { cout<<fun(4); return 0; }
- 给定程序中,函数fun的功能是:根据整型形参n,计算如下公式的值。 A1=1,A2=1/(1+A1) , A3=1/(1+A2) ,…,An=1/(1+A(n-1)) 例如,若n=10,则应输出0.617977。 #include #include #include float fun(int n) { float A=1; int i; for(【 1 】;i<=n;i++) A=【 2 】; return A; } int main() { int n; system("CLS"); printf(" Please enter n:"); scanf("%d",&n); printf("%d=%lf ",n, 【 3 】); return 0; }
内容
- 0
要求以下程序的功能是计算: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; }
- 1
求s=1-1/3+1/5-1/7+…+1/13 #include main() { int p=1,n; float t=1, s=0; for(n=1; 【1】 ;n+=2) { 【2】 ; s=s+t*p; 【3】 ; } printf("s=%10.6f\n",s); }
- 2
下面程序的功能是计算 S= 0!+1!+2!+…+k! ( k>=0 )。 #include "stdio.h" long fun(int n) { int i; long s=1; for(i=1; ① ;i++) s*=i; return( ② ); } int main() { int k,n; long s; scanf("%d",&n); s= ③ ; for(k=0;k<=n;k++) s+= ④ ; printf("%ld\n",s); return 0; }
- 3
输入正整数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; }
- 4
以下程序的功能是计算: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; }