PTA.C语言.找鞍点

找出二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。也有可能没有鞍点。

输入格式:

输入4行4列的整型二维数组。

输出格式:

若有鞍点,输入鞍点以及其位置;若没有鞍点,输出“It is not exist!”。

输入样例1:

在这里给出一组输入。例如:

2 3 9 5
6 7 8 3
0 5 7 5
2 1 8 3

输出样例1:

在这里给出相应的输出。例如:

a[2][2]=7

输入样例2:

在这里给出一组输入。例如:

2 3 9 5
6 7 8 3
1 5 6 7
2 1 8 3

输出样例2:

在这里给出相应的输出。例如:

It is not exist!
#include "stdio.h"
int main() {
	int a[4][4];
	int i, j;
	//键盘输入四行四列的数组
	for (i = 0;i < 4;i++) {
		for (j = 0;j < 4;j++) {
			scanf("%d",&a[i][j]);
		}
	}
	//遍历
	int max, min,k,flag =0;
	for (i = 0;i < 4;i++) {
		//找此i行最大,即比较列
		max = 0;
		for (j = 0;j < 4;j++) {
			if (a[i][max] <= a[i][j]) {
				max = j;
			}
		}
		
		//从该max列找每行中最小的,max列的min行和i行比较(因为max是从i中找到的,所以最小行应 
        //    该是i)
        min = 0;
		for (k = 0;k < 4;k++) {
			if (a[min][max] >= a[k][max]) {
				min = k;
			}
		}
		//找到了
		if (min == i) {
			flag = 1;
			break;
		}
	}
	if (flag)
		printf("a[%d][%d]=%d", min, max, a[min][max]);
	else
		printf("It is not exist!");
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值