以下程序中的select()函数功能是:在N行M列的二维数组中选出一个最大值作为函数值返回,并通过形参传回此最大值的行下标。请填空完成此程序。 #include<iostream> #define N 3 #define M 3 u

admin2010-03-29  56

问题 以下程序中的select()函数功能是:在N行M列的二维数组中选出一个最大值作为函数值返回,并通过形参传回此最大值的行下标。请填空完成此程序。
   #include<iostream>
   #define N 3
   #define M 3
   using namespace std;
   int select(int a[N][M],int *n)
   {
      int i,j,row=0,colum=0;
      for(i=0;i<N;i++)
          for(i=0;j<M;j++)
              if(a[j]>a[row][colum])
              {
                  row=i;
                  colum=j;
              }
      *n=【  】;
      return  【  】;
   }
   int main()
   {
      int a[N][M]={9,11,23,6,1,15,9,17,20};
      int max,n;
      max=select(a,&n);
      cout<<"max="<<max<<"line="<<n<<end1;
      return 0;
   }

选项

答案row a[row][colum]

解析 通过对题意的分析不难看出:在select()函数中,变量row的作用是用来标记最大元素的行下标值,colum的作用是用来记下最大元素的列下标:函数select()通过循环求得数组的最大值的行下标、列下标并分别存放在变量row和colum中。根据题意,应把行下标赋值给形参指针变量n,这样就通过地址传递的方式改变了主调函数中的实参,即把最大值的行下标传回到主调函数中。然后把最大值a[row][colum]作为函数返回值。
转载请注明原文地址:https://jikaoti.com/ti/diW0FFFM
0

最新回复(0)