2021-02-27

期末考试
Description
请用C语言实现一个程序,要求能求出给定数字矩阵的最大值与最小值,以及分别对应的行号和列号。
Input
第1行输入矩阵的行数与列数,用空格隔开。
第2行开始输入矩阵。
Output
第1行输出矩阵的最大值 ;
第2行输出最大值出现的行号与列号,行号列号之间用空格隔开;
第3行输出矩阵的最小值;
第4行输出最小值出现的行号与列号,行号列号之间用空格隔开。
Sample Input
4 3
1 2 3
4 5 6
7 8 9
10 11 12

Output
12
4 3
1
1 1

HINT
任意两个矩阵元素不相同,矩阵的每一个元素都为整数,且都不超过1000000

#include<stdio.h>
int main()
{
int a[20][20];
int max=0;int min=10000;
int i,j;
int l,m;
int x,y;
l=0;
m=0;
scanf("%d%d",&x,&y);
for(i = 0;i < x;i++)
{
for(j = 0;j < y;j++)
scanf("%d",&a[i][j]);
}

for(i = 0;i < x;i++)
{
	for(j = 0;j < y;j++)
	{
		if(max<a[i][j])
		{   max=a[i][j];
			l=i+1;m=j+1;
		}
	}
}
printf("%d\n",max);
printf("%d %d\n",l,m);
for(i = 0;i < x;i++)
{
	for(j = 0;j < y;j++)
	{
		if(min>a[i][j])
		{   min=a[i][j];
			l=i+1;m=j+1;
		}
	}
}
printf("%d\n",min);
printf("%d %d\n",l,m);
return 0;

}
之前一直想用一个另外的一个二维数组来表示出来,结果发现有点麻烦,不如直接min,max来表示,那个还是我从我同学那里看到的,非常好用。通过两次的比较能够很好的把要的值求出,那个求序列感觉有点麻烦,但其实通过数列可以很好的把它求出。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值