int main() {
int arr[3][3] = { 0 };
for (int i = 0; i < 3;i++) {
for (int j = 0; j < 3;j++) {
scanf("%d",&arr[i][j]);
}
}
int index = 0;
int flag = 0;
int row_index = 0;
for (int i = 0; i< 3;i++) {
int max = arr[i][0];//设置最大值为每一行的开头
for (int j = 0; j <3;j++) {
if (arr[i][j]>max) {
max = arr[i][j];
index = j;
}
}
int min = arr[i][index];//设置最小值为每一列的开头
for (int j = 0; j < 3; j++) {
if (arr[j][index] < min) {
min = arr[j][index];
row_index = j;
}
}
if (min==max&&i==row_index) {
flag = 1;
printf("%d %d %d",row_index+1,index+1,max);
break;
}
#include <stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
#define N 3
int main(void)
{
int num[N][N] = { 1,2,3,4,5,6,7,8,9 }, flag = 0, max, min, row, col;//标志变量 行最大 列最小 列最小对应行标 行最大对应列标
min = num[0][0];
for (int i = 0; i < N; i++) {//行方向最大值列标 定1找1
max = num[i][0];
min = num[i][0];
for (int m = 0; m < N; m++) {
if (num[i][m] > max) {
max = num[i][m];
col = m;
}
}
for (int m = 0; m < N; m++) {//列最小行标
if (num[m][col] < min) {
min = num[m][col];
row = m;
}
}
if (row == i) {//最小对应行标==当前行标成立
printf("坐标(%d,%d)为鞍点\n", row + 1, col + 1);
flag++;
}
}
if (flag == 0) {
puts("无鞍点");
}
登录后提交答案