c语言作业用函数求一个二维数组的最大值及第几行第几列位置

用函数求一个二维数组的最大值及第几行第几列位置

第1个回答  2015-11-18
这是伪码,补充一下就ok:
int a[3][4]={......};
int i=0,j=0,max=a[0][0];
for(int m=0;m<3;m++)
for(int n=0;n<4;n++)

if(a[m][n]>max)

{max=a[m][n];
i=m;j=n;
}

printf("最大值:%d,在%d列,%d行\n",max,i+1,j+1);本回答被提问者和网友采纳
第2个回答  2018-03-10
#include <stdio.h>
void max_in_array(int *a,int m,int n,int*maxi,int*maxj)
{int i,j;
 *maxi=*maxj=0;
 for(i=0;i<m;i++)
   for(j=0;j<n;j++)
     if(*(a+i*n+j)>*(a+*maxi*n+*maxj)) 
     {*maxi=i;
      *maxj=j;
  }
}
int main()
{int n=6,a[2][3]={3,6,4,3,4,8},i,j;
 max_in_array((int*)a,2,3,&i,&j);
 printf("a[%d][%d]=%d\n",i,j,a[i][j]);
 return 0;
}

本回答被网友采纳