文档详情

c语言习题第三章2解析.doc

发布:2017-01-19约1.48万字共20页下载文档
文本预览下载声明
程序改错/ *下列给定程序中,函数fun的功能是:计算S=f(-n)+f(-n+1)+…+f(0)+f(1)+f(2)+…f(n)的值。 例如,当n为5时,函数值应为10.407143。f(x)函数定义如下: f(x)= 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: */ #include stdlib.h #include stdio.h #include math.h /**********ERROR**********/ f(double x) { if(x==0.0||x==2.0) return 0.0; else if(x0.0) return(x-1)/(x-2); else return(x+1)/(x-2); } double fun(int n) { int i; double s=0.0,y; for(i=-n; i=n;i++) { y=f(1.0*i); s+=y;} /**********ERROR**********/ return s } void main() { printf(%lf\n, fun(5)); } 【参考答案】 double f(double x) 【参考答案】 return s; return (s); /*下列给定程序中,函数fun的功能是:求三个数的最小公倍数。例如,给变量x1、x2、x3分别输入15、11、2,则输出结果应当是330。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: */ #include stdio.h int fun(int x,int y,int z) { int j,t,n,m; /**********ERROR**********/ j=1; t=m=n=1; /**********ERROR**********/ while (t!=0 m!=0 n!=0) { j=j+1; t=j%x; m=j%y; n=j%z; } return j; } void main() { int x1,x2,x3,j; printf(Input x1 x2 x3: ); scanf(%d%d%d,x1,x2,x3); printf(x1=%d,x2=%d,x3=%d \n,x1,x2,x3); j=fun(x1,x2,x3); printf(The minimal common multiple is: %d\n,j); } 【参考答案】 j=0; 【参考答案】 while (t!=0 || m!=0 || n!=0) /*下列程序中函数fun的功能是:计算正整数num各位上的数字之积。例如,若输入252,则输出应该是20。若输入202,则输出应该是0。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序:*/ #include stdio.h #include conio.h long fun(long num) { /**********ERROR**********/ long k; do { k *=num%10; /**********ERROR**********/ num \=10; }while(num); return(k); } void main() { int n; printf(\Please enter a number: ); scanf(%ld,n); printf(\n%ld\n,fun(n)); } 【参考答案】 long k=1; 【参考答案】 num/=10; num=num/10; /*下列给定程序中,函数fun()的功能是:根据整型形参m的值,计算如下公式的值: 请改正函数fun()中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: */ #include stdlib.h #include stdio.h double fun(int m) {double y=1.0; int i; /**********ERROR**********/ for(i=2;im;i++) /**********ERROR**********/ y-=1/(i*i); return(y); } void main() {int
显示全部
相似文档