/************found************/ int fun(int n, int xx[][]) { int i, j, sum=0;
printf( \ for( i = 0; i < M; i++ ) { for( j = 0; j < M; j++ )
/************found************/ printf( \ printf(\ }
for( i = 0 ; i < n ; i++ )
sum += xx[i][i]+xx[i][ n-i-1 ]; return( sum ); }
main( )
{ int aa[M][M]={{1,2,3,4,5},{4,3,2,1,0}, {6,7,8,9,0},{9,8,7,6,5},{3,4,5,6,7}};
printf ( \}
17、给定程序MODI1.C中函数fun的功能是:从整数1到55之间,选出能被3整除、且有一位上的数是5的那些数,并把这些数放在b所指的数组中,这些数的个数作为函数值返回。规定,函数中a1放个位数,a2放十位数。 请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 #include
{ int k,a1,a2,i=0;
for(k=10; k<=55; k++) {
/************found************/ a2=k/1O; a1=k-a2*10;
if((k%3==0 && a2==5)||(k%3==0 && a1==5)) { b[i]=k; i++; } }
/************found************/ return k; } main( )
{ int a[100],k,m; m=fun( a );
printf(\
for(k=0; k 18、给定程序MODI1.C中函数fun的功能是:应用递归算法求形参a的平方根。求平方根的迭代公式如下: 1 a x1 = ─ ( x0 + ─ ) 2 x0 例如,a为2时,平方根值为:1.414214。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 #include /**********found**********/ double fun(double a, dounle x0) { double x1, y; x1=(x0+ a/x0)/2.0; /**********found**********/ if( fabs(x1-xo)>0.00001 ) y=fun(a,x1); else y=x1; return y; } main( ) { double x; 36 printf(\ printf(\} 19、给定程序MODI1.C中函数fun的功能是:先将s所指字符串中的字符按逆序存放到t所指字符串中,然后把s所指串中的字符按正序连接到t所指串的后面。 例如:当s所指的字符串为:\时, 则t所指的字符串应为:\。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include void fun (char *s, char *t) { /************found************/ int i; sl = strlen(s); for (i=0; i /************found************/ t[i] = s[sl-i]; for (i=0; i main() { char s[100], t[100]; printf(\ fun(s, t); printf(\} 20、给定程序MODI1.C中 fun 函数的功能是:分别统计字符串中大写字母和小写字母的个数。 例如, 给字符串 s 输入:AAaaBBb123CCccccd,则应输出结果:upper = 6, lower = 8。 请改正程序中的错误,使它能计算出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! #include /**********found**********/ void fun ( char *s, int a, int b ) { while ( *s ) { if ( *s >= 'A' && *s <= 'Z' ) /**********found**********/ *a=a+1 ; if ( *s >= 'a' && *s <= 'z' ) /**********found**********/ *b=b+1; s++; } } main( ) { char s[100]; int upper = 0, lower = 0 ; printf( \ \ gets ( s ); fun ( s, & upper, &lower ); printf( \ lower = %d\\n\} 21、给定程序MODI1.C中函数fun的功能是:根据形参m的值(2≤m≤9〕,在m行m列的二维数组中存放如下所示规律的数据,由main函数输出。 例如,若输入 2 | 若输入 4 则输出、 | 则输出: 1 2 | 1 2 3 4 2 4 | 2 4 6 8 | 3 6 9 12 | 4 8 12 16 请改正程序函数中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 37 #include int a[M][M] = {0} ; /**************found**************/ fun(int **a, int m) { int j, k ; for (j = 0 ; j < m ; j++ ) for (k = 0 ; k < m ; k++ ) /**************found**************/ a[j][k] = k * j ; } main ( ) { int i, j, n ; printf ( \ scanf (\ fun ( a, n ) ; for ( i = 0 ; i < n ; i++) { for (j = 0 ; j < n ; j++) printf ( \ printf ( \ } } 22、给定程序MODI1.C中函数fun的功能是:从s所指字符串中删除所有小写字母c。 请改正程序中的错误,使它能计算出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! #include for(i=j=0; s[i]!='\\0'; i++) if(s[i]!='c') /************found************/ s[j]=s[i]; /************found************/ s[i]='\\0'; } main() { char s[80]; printf(\ \ printf(\ \ fun(s); printf(\ \} 23、给定程序MODI1.C中函数fun的功能是:找出一个大于形参m且紧随m的素数,并作为函数值返回。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include for (i = m + 1 ; ; i++) { for (k = 2 ; k < i ; k++) /**************found**************/ if (i % k != 0) break ; /**************found**************/ if (k < i) return(i); } } void main() { int n ; n = fun(20) ; printf(\} 38 24、给定程序MODI1.C是建立一个带头结点的单向链表, 并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。 请改正函数fun中指定部位的错误, 使它能得出正确的结果。 注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构! #include struct aa *next; } NODE; fun ( NODE *h ) { int max=-1; NODE *p; /***********found**********/ p=h ; while(p) { if(p->data>max ) max=p->data; /***********found**********/ p=h->next ; } return max; } outresult(int s, FILE *pf) { fprintf(pf,\ : %d\\n\ NODE *creatlink(int n, int m) { NODE *h, *p, *s, *q; int i, x; h=p=(NODE *)malloc(sizeof(NODE));h->data=9999; for(i=1; i<=n; i++) { s=(NODE *)malloc(sizeof(NODE)); s->data=rand()%m; s->next=p->next; p->next=s; p=p->next; } p->next=NULL; return h; } outlink(NODE *h, FILE *pf) { NODE *p; p=h->next; fprintf(pf,\ LIST :\\n\\n HEAD \ while(p) { fprintf(pf,\ fprintf(pf,\ } main() { NODE *head; int m; head=creatlink(12, 100); outlink(head , stdout); m=fun(head); printf(\ RESULT :\\n\} 25、给定程序MODI1.C中函数fun的功能是: 先从键盘上输入一个3行3列矩阵的各个元素的值, 然后输出主对角线元素之和。 请改正函数fun中的错误或在横线处填上适当的内容并把横线删除,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! #include int a[3][3],sum; int i,j; /*********found**********/ ______; for (i=0;i<3;i++) 39 { for (j=0;j<3;j++) /*********found**********/ scanf(\ } for (i=0;i<3;i++) sum=sum+a[i][i]; printf(\} main() { fun(); } 26、给定程序MODI1.C中函数fun的功能是:求三个数的最小公倍数。 例如,给主函数中的变量x1、x2、x3分别输入15 11 2, 则输出结果应当是:330。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 #include /************found************/ fun(int x, y, z ) { int j,t ,n ,m; j = 1 ; t=j%x; m=j%y ; n=j%z; while(t!=0||m!=0||n!=0) { j = j+1; t=j%x; m=j%y; n=j%z; } /************found************/ return i; } main( ) { int x1,x2,x3,j ; printf(\ x2 x3: \ scanf(\ printf(\ j=fun(x1,x2,x3); printf(\} 27、给定程序MODI1.C中函数fun的功能是:从N个字符串中找出最长的那个串,并将其地址作为函数值返回。各字符串在主函数中输入,并放入一个字符串数组中。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 #include /**********found**********/ fun(char (*sq)[M]) { int i; char *sp; sp=sq[0]; for(i=0;i if(strlen( sp) /**********found**********/ return sq; } main() { char str[N][M], *longest; int i; printf(\ for(i=0; i