/*------------------------------------------------
【程序设计】
------------------------------------------------
题目:请编写一个函数fun,函数的功能是:求出N×M整
型数组的最大元素及其所在的行坐标及列坐标(如
果最大元素不唯一,选择位置在最前面的一个)。
例如:输入的数组为:
1 2 3
4 15 6
12 18 9
10 11 2
求出的最大数为18,行坐标为2,列坐标为1。
------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数
main和其它函数中的任何内容,仅在函数fun的花
括号中填入所编写的若干语句。(使用for循环实现)
------------------------------------------------*/
#define N 4
#define M 3
#include <stdio.h>
int Row,Col;
main()
{void yzj();
int fun(int array[N][M]);
int a[N][M],i,j,max,row,col;
printf("input a array:");
for(i=0;i<N;i++)
for(j=0;j<M;j++)
scanf("%d",&a[i][j]);
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
printf("%d",a[i][j]);
printf("\n");
}
max=fun(a);
printf("max=%d,row=%d,col=%d",max,Row,Col);
yzj();
}
int fun(int array[N][M])
{
/**********Program**********/
int i,j,max;
max=array[0][0];
Row=0;Col=0;
for(i=0;i<N;i++)
for(j=0;j<M;j++)
if(max<array[i][j])
{
max=array[i][j];
Row=i;Col=j;
}
return max;
/********** End **********/
}
void yzj()
{
FILE *IN,*OUT;
int iIN[N][M],iOUT,i,j;
IN=fopen("9.in","r");
if(IN==NULL)
{printf("Please Verify The Currernt Dir..It May Be Changed");
}
OUT=fopen("9.out","w");
if(OUT==NULL)
{printf("Please Verify The Current Dir.. It May Be Changed");
}
for(i=0;i<N;i++)
for(j=0;j<M;j++)
fscanf(IN,"%d",&iIN[i][j]);
iOUT=fun(iIN);
fprintf(OUT,"%d %d %d\n",iOUT,Row,Col);
fclose(IN);
fclose(OUT);
}