/*
==================================================================
題目:查找數組的最大元素,並輸出其位置和值!
==================================================================
*/
#include<stdio.h>
#define M 3
#define N 5
void main()
{
int a[M][N],i,j,max,h,l;
printf("輸入%d*%d矩陣:\n",M,N);
for(i=0;i<M;i++)
for(j=0;j<N;j++)
scanf("%d",&a[i][j]);
max=a[0][0];
printf("矩陣輸出:\n");
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
printf("%4d ",a[i][j]);
printf("\n");
}
for(i=0;i<M;i++)
for(j=0;j<N;j++)
if(max<a[i][j])
{
max=a[i][j];
h=i;
l=j;
}
printf("最大元素是:a[%d][%d],即第%d行,第%d列\n其值為:%d\n",h+1,l+1,h+1,l+1,max);
}
/*
=======================================================================
評:
簡單題目,僅僅需清楚查找方法。令max為矩陣的隨意一個元素,和全部元素對照,
假設max比它小,就讓max=它,並記錄此時的行和列,直到查找結束!為了符合
人們的正常思維,行和列要加1。由於計算機默認是從0行開始的,而人們一般都
覺得從1開始!
思考:本程序中矩陣的大小也能夠自己確定。但還不夠靈活。最好還是試試用輸入數
字的方式確定數組大小,使得程序更加靈活。
========================================================================
*/