问答题
给定程序中,函数fun的功能是:找出N×N矩阵中每列元素中的最大值,并按顺序依次存放于形参b所指的一维数组中。
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
#define N 4
void fun(int (*a)[N], int *b)
{ int i,j;
for(i=0; i
/**********found**********/
b[i]= __1__;
for(j=1; j
/**********found**********/
if(b[i] __2__ a[j][i]) b[i]=a[j][i];
}
}
main()
{ int x[N][N]={ {12,5,8,7},{6,1,9,3},{1,2,3,4},{2,8,4,3} },y[N],i,j;
printf("/nThe matrix :/n");
for(i=0;i
{ for(j=0;j
printf("/n");
}
/**********found**********/
fun(__3__);
printf("/nThe result is:");
for(i=0; iprintf("/n");
}
【正确答案】第一处:把每列的第1值赋值给b[i],所以应填:a[0][i]。
第二处:如果b[i]值小于a[j][i]的值,则把a[j][i]重新赋值给b[i]中,保存最大的值,所以应填:<。
第三处:在主函数中,x是存放矩阵数据,y是存放每列的最大值,所以应填:x,y。
【答案解析】