给定程序中,函数fun的功能是:找出N×N矩阵中每列元素中的最大值,并按顺序依次存放于形参b所指的一维数组中。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANKl.C中。

admin2013-06-12  11

问题 给定程序中,函数fun的功能是:找出N×N矩阵中每列元素中的最大值,并按顺序依次存放于形参b所指的一维数组中。
    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
    注意:源程序存放在考生文件夹下的BLANKl.C中。
    不得增行或删行,也不得更改程序的结构!
#include  
#define N 4
void fun(int(*a)[N],int*b)
{  int i,j;
  for(i=0;i/***************found****************/
    b= 【1】;
    for(j=1; j/***************found****************/
    if(b【2】a[j])b=
a[j]
  }
}
main()
{int x[N][N]={{12,5,8,7},{6,l,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("%4d",x[j]);
    printf("\n");
  }
/***************found****************/
  fun( 【3】);
  printf("\nThe result is:");
  for(i=0;iy);
  printf("\n");
}

选项

答案(1)a[0][i] (2)< (3)x,y

解析 第一空:第二个循环是寻找每列的最大值,方法是用最大值变量b标记第一个待找数据,逐个把所有待找数据和b进行比较,并用b标记其当前最大值,从而找出最大值。故第一空处为第一个待找数据“a[0]
    第二空:由上述的分析可知,如果b小于a[j],那么用b标记其当前最大值,故第二空处为“<"。
    第三空:fun函数的声明为:void fun(int(*a)[N],int*b),函数的两个参数均是指针。故在主函数内fun函数的调用形式为“fun(x,y)",x是二维数组首地址,y是一维数组首地址。
转载请注明原文地址:https://kaotiyun.com/show/SrJp777K
0

最新回复(0)