.
void main() { int i;
for(i=1;i { static int x=1; x*=x+1; printf(“%d”,x); } 10.以下程序的输出结果是( 3 )。 #include { if(n==1) return 1; else return f(n-1)+1; } void main() { int i,j=0; for(i=1;i<3;i++) j+=f(i); printf(“%d\\n”,j); } 11.下列程序执行后输出的结果是( #include printf(“%d”,d); } void main( ) { int a=3; fun(a); d+=a++; printf(\%d\\n\ 12.以下程序输出的结果是( 8 )#include int abc(int u,int v); void main() { int a=24,b=16,c; c=abc(a,b); printf(\%d\\n\,c);} int abc(int u,int v) { int w; . 84 )。。 . while(v) {w=u%v;u=v;v=w;} return u; } 13.以下程序的输出结果是( 61515 )。 #include { static int d =5; d+=p; printf(“%d”,d); return (d); } void main() { int a=3; printf(“%d\\n”,fun(a+fun(d))); } 14.请选择下列程序的运行结果( 6 )。 #include { static int x=3; x++; return (x); } void main() { int i,x; for(i=0;i<=2;i++) x=try(); printf(“%d\\n”,x); } 四、程序填空 1.以下函数用以求x的y次方,请填空。 double fun(double x,int y) { int i; double z=1.0; for(i=1;i 【1】 ;i++) <=y z= 【2】 ; z*x return z; } 2.阅读以下程序并填空,该程序是求阶乘的累加和。 S=0!+1!+2!+.........+n! #include . . { int i; long s; s= 【1】 ; 1 for(i=1;i<=n;i++) s= 【2】 ; s*i return s;} void main() { long s; int k,n; scanf(“%d”,&n); s= 【3】 ; 0 for(k-0;k<=n;k++) s=s+ 【4】 ; f(k) printf(“\\n”,s); } 3.请补充main函数,该函数的功能是:计算两个自然数n和m(m<10000)之间所有数的和(n和m从键盘输入)。 例如:当n=1,m=100时,sum=5050;当n=100,m=1000时,sum=495550。 注意:部分源程序给出如下,请勿改动main函数和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句。 试题程序: #include 【1】 ; sum=0 system(\ printf(\scanf(\while(n<=m) { 【2】 ; n++; } sum+=n printf(\【3】 \\n\ld 五、改错题 1.下列给定程序中,函数fun的功能是:计算S=f(-n)+f(-n+1)+…+f(0)+f(1)+f(2)+…f(n)的值。 例如:当n为5时,函数值应为10.407143。f(x)函数定义如下: . . 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include /*************found**************/ double f(double x) { if(x==0.0||x==2.0) return 0.0; else if(x<0.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;} /*************found**************/ return s } // return s ; } void main() { system(\ printf(\ 2.下列给定程序中,fun函数的功能是:根据形参m,计算下列公式的值: t=1+1/2+1/3+1/4+…+1/m 例如:若输入5,则应输出2.283333。请改正程序中的错误,使它能计算出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include . ?(x?1)?(x?2)??0?(x?1)?(x?2)f(x)=?x?0x?0或x?2x?0