满意答案
# include
m a i n ( )
{
int a[3][4],*ptr,i,j,max,maxi,maxj;
/ * m a x 是数组的最大, m a x i 是最大元素所在行, m a x j 是最大元素所在列 * /
f o r ( i = 0 ; i < 3 ; i + + )
f o r ( j = 0 ; j < 4 ; j + + )
s c a n f ( " % d " , & a [ i ] [ j ] ) ;
p t r = a [ 0 ] ; / *将二维数组的首地址传递给指针变量 * /
m a x _ a r r ( p t r , & m a x , & m a x i , 1 2 ) ;
m a x j = m a x i % 4 ; / *每行有四个元素,求该元素所在列 * /
m a x i = m a x i / 4 ; / *求该元素所在行 * /
printf("max=%d,maxi=%d,maxj=%d",max,maxi,maxj);
}
int max_arr(b,p1,p2,n)
int *b,*p1,*p2,n;
/ * b指向二维数组的指针,p 1指向最大值,p 2指向最大值在一维数组中的位置, * /
/ * n是数组的大小 * /
{
int i;
*p1=b[0]; *p1=0;
f o r ( i = 1 ; i < n ; i + + ) / * 找最大* /
if (b[i]>*p1) {*p1=b[i]; *p2=i;}
}
运行程序:
R U N
4 7 8 9
3 7 9 3
1 5 2 6
max=9,maxi=0,maxj=3
00分享举报