//数组运算
/*
==================================================================
题目:查找数组的最大元素,并输出其位置和值!
==================================================================
*/
#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开始!
思考:本程序中矩阵的大小也可以自己确定,但还不够灵活,不妨试试用输入数
字的方式确定数组大小,使得程序更加灵活。
========================================================================
*/
/*
==================================================================
题目:查找数组的最大元素,并输出其位置和值!
==================================================================
*/
#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开始!
思考:本程序中矩阵的大小也可以自己确定,但还不够灵活,不妨试试用输入数
字的方式确定数组大小,使得程序更加灵活。
========================================================================
*/