定义二维数组int a[3][5],从键盘上输入其元素值,编程找出其中的最大值,最小值及其对应的行列

2024-12-01 03:29:46
推荐回答(2个)
回答(1):

#include"stdio.h"
void main()
{
int a[3][5],i,j,max,min,rowmax=0,rowmin=0,clomax=0,clomin=0;//分别为最大(小)值的行和最(小)大值的列初始化为0
printf("please input the a:\
");
for(i=0;i<3;i++)
for(j=0;j<5;j++)
scanf("%d",&a[i][j]);//以空格间隔!
for(i=0;i<3;i++)
{
for(j=0;j<5;j++)

printf("%5d ",a[i][j]);
printf("\
");
}//对输入的书进行排列一下四根美观,可以不要,就像礼貌用语一样,不过你本可以不用和它讲礼貌的,不过是你看的方便!

max=a[0][0];
min=a[0][0];//对最大和最小值进行初始化为第一个数
for(i=0;i<3;i++)
for(j=0;j<5;j++)
{
if(a[i][j]>max)//如果检测到的数字比我们的最大值大,就把它赋给max
{
max=a[i][j];
rowmax=i;
clomax=j;
}
if(a[i][j] min=a[i][j];
rowmin=i;
clomin=j;
}
printf("最大值为max=%d\
它的行是rowmax=%d\
它的列是clomax=%d\
",max,rowmax,clomax);
printf("最小值为min=%d\
它的行是rowmin=%d\
它的列是clomin=%d\
",min,rowmin,clomin);
}

回答(2):

二层衔套循环,用第一个对比第二个,哪一个大,保存到,最大数,小的,保存到最小数,然后,循环下去,比较第一,二,数,,,到最后,就得到最大及最小值,同时得保存好最大最小变量的地址。。