东北大学在线编程社区problem1339
题目描述:
输入一个3*4二维数组,求其“鞍点”,即该位置上的元素在该行上最大,在该列上最小,如果没有鞍点输出"no saddlepoint"。
输入样例:
1 9 8 4
2 6 7 5
3 8 9 5
输出样例:
saddlepoint: 7, col: 2, row:1
#include <stdio.h>
int main(void)
{
int i, j, k, max, a, flag;
int num[3][4];
for (i = 0; i < 3; i++) {
for (j = 0; j < 4; j++)
scanf("%d", &num[i][j]);
}
for (i = 0; i < 3; i++) {
max = num[i][0];
a = 0;
for (j = 0; j < 4; j++) {
if (num[i][j] > max) {
max = num[i][j];
a = j;
}
}
flag = 1;
for (k = 0; k < 3; k++) {
if (max > num[k][a]) {
flag = 0;
continue;
}
}
if (flag!=0) {
printf("saddlepoint: %d, col: %d, row:%d", max, a, i);
break;
}
}
if (flag==0) {
printf("no saddlepoint");
}
return 0;
}