问答题 给定程序中,函数fun的功能是:在3×4的矩阵中找出在行上最大、在列上最小的那个元素,若没有符合条件的元素则输出相应信息。 例如,有下列矩阵: 1 2 13 4 7 8 10 6 3 5 9 7 程序执行结果为:find: a[2][2]=9 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 给定源程序: #include #define M 3 #define N 4 void fun(int (*a)[N]) { int i=0,j,find=0,rmax,c,k; while( (i { rmax=a[i][0]; c=0; for(j=1; j if(rmax /**********found**********/ rmax=a[i][j]; c= __1__ ; } find=1; k=0; while(k /**********found**********/ if (k!=i && a[k][c]<=rmax) find= __2__ ; k++; } if(find) printf("find: a[%d][%d]=%d/n",i,c,a[i][c]); /**********found**********/ __3__ ; } if(!find) printf("not found!/n"); } main() { int x[M][N],i,j; printf("Enter number for array:/n"); for(i=0; i for(j=0; j printf("The array:/n"); for(i=0; i { for(j=0; jprintf("/n/n"); } fun(x); }
【正确答案】第一处:找出行上最大的数,并该位置j(列)保存在c中,所以应填:j。 第二处:使用while循环语句和控制变量find,如果该数不是列是最小数,那么把find置0,所以应填:0。 第三处:i是while的控制变量,所以每做一次循环,该数均要加1,所以应填:i++。
【答案解析】