3101 - 【创新型】第9章: 指针 9.17 谁是最大的(2)

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

找出一个2×3的矩阵中的最大值及其行下标和列下标,要求调用子函数FindMax(int p[][3], int m, int n, int pRow, int pCol)实现,最大值以函数的返回值得到,行下标和列下标在形参中以指针的形式返回。

题目输入

两行数据,每行三个整数中间用空格   

题目输出

输出最大的数,行下标,列下标

例如:

Max=5,Row=0,Col=1

输入/输出样例

输入格式

1 2 3
4 5 6

输出格式

Max=6,Row=1,Col=2

C语言解答

#include <stdio.h>
int FindMax(int p[][3], int m, int n, int *pRow, int *pCol);
int main()
{
	int a[2][3],i,j,row,col,max;
	for(i=0;i<2;i++)
		for(j=0;j<3;j++)
			scanf("%d",&a[i][j]);
	max=FindMax(a,2,3,&row,&col);
	printf("Max=%d,Row=%d,Col=%d",max,row,col);
}
int FindMax(int p[][3], int m, int n, int *pRow, int *pCol)
{
	int *max,i,j;
	max=p[0];
	*pRow=0;
	*pCol=0;
	for(i=0;i<m;i++)
		for(j=0;j<n;j++)
		{
			if(*max<p[i][j])
			{
				*max=p[i][j];
				*pRow=i;
				*pCol=j;
			}
		}
	return (*max);
}