int i, m; m = 1;
for (i=___2___; i m=0; break; } if (m==1 && n>1) return(\ else return(\} main() { int k = 0; printf(\ scanf(\ printf(\} 第1处填空:char*fun(int n) 第2处填空:2 第3处填空:n%i==或!(n%i)或0==n%i 改错题 下列给定程序中,FUN函数的功能是:根据形参M,计算如下公式的值。 1111???...?T=1+234m 例如,若输入5,则应输出2.283333. 请改正程序中的错误或在横线处填上适当的内容并把横线删除,使它能计算出正确的结果。 注意:不要改动MAIN函数,不得增行或删行,也不要更改程序的结构! 试题程序:#include double t = 1.0; int i; /********found********/ for (i=2; i<=m; i++) t += 1.0/k; /********found********/ ___ì???___ } main() { int m; printf(\ scanf(\ printf(\} 第1处:t += 1.0/k;应改为t+=1.0/i; 第2处:应填return t; 编程题 请编写一个函数void fun(int tt[M][N]),tt提向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指的一维数组中。二维数组中的数已在主函数中赋予。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include void fun ( int tt[M][N],int pp[N] ) { } main( ) { int t [ M ][ N ]={{22,45, 56,30}, {19,33, 45,38}, {20,22, 66,40}}; int p [ N ], i, j, k; FILE *out; printf ( \ for( i=0; i printf ( \ printf(\ } fun ( t, p ); printf( \ for ( k = 0; k < N; k++ ) printf ( \ printf(\ out = fopen(\ for ( k = 0; k < N; k++ ) fprintf (out, \ fclose(out); } 答案是: vid fun(int tt[M][N] ,int pp[N]) { int i,j,min; for(j=0;j min=tt[0][j]; for(i=0;i if(tt[i][j] pp[j]=min; } } 第14套 填空题 请补充fun函数, 该函数的功能是:依次取出字符串中所有小写字母,形成新的字符串,并取代原字符串. 注意:部分源程序给出如下。 仅在横线上填入所编写的若干表达式或语句,勿改动函数中的其他任何内容。 试题程序:#include int i = 0; char *p = s; while (___1___) { if (*p>='a' && *p<='z') { s[i] = *p; ___2___; } p++; } s[i] = ___3___; } main() { char str[80]; printf(\ gets(str); printf(\ fun(str); printf(\} 第1处填空:*p或*p!=‘\\0‘或*p!=0 第2处填空:i++或++i或i+=1或i=i+1 第3处填空:‘\\0‘或0 改错题 下列给定程序中,函数FUN和FUNX的功能是:用二分求方程2 x3?4x?3x?6?0 2的一个根,并要求绝对误差不超过0.001。例如,若出给m输入100,给n输入90,则函数求得的一个根值为2.000。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动MAIN函数,不得增行或删行,也不要更改程序的结构! 试题程序:#include double funx(double x) { return (2*x*x*x - 4*x*x + 3*x - 6); } double fun(double m, double n) { /********found********/ int r; r = (m+n)/2; /********found********/ while (fabs(n-m) < 0.001) { if (funx(r)*funx(n) < 0) m = r; else n = r; r = (m+n)/2; } return r; } main() { double m, n, root; printf(\ scanf(\ root = fun(m, n); printf(\} 第1处:int r;应改为double r; 第2处:while (fabs(n-m)<0.001)应改为while (fabs(n-m)>0.001) 编程题 请编写fun函数,函数的功能是求出二维数组周边的元素之和,作为函数值返回,二维数例如:若二维数组中的值为: 13579 29994 69998 13570 则函数为61。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include int fun ( int a[M][N] ) { } main( ) { int aa[M][N]={{1,3,5,7,9}, {2,9,9,9,4}, {6,9,9,9,8}, {1,3,5,7,0}}; int i, j, y; FILE *out; printf ( \