第一串代码在输入
1 2 25 4
5 6 20 8
9 10 13 12
13 14 15 16
的时候输出错误,用vscode
#include<stdio.h>
int main()
{
int sz[4][4];
int c_min,r_max;
int i,j;
int row,col;
for ( i = 0; i < 4; i++)
{
for( j = 0 ; j < 4 ; j++ )
scanf("%d",&sz[i][j]) ;
}
r_max = sz[0][0];
for( i = 0 ; i < 4 ; i++ )
for( j = 0 ; j < 4 ; j++ )
{
if( sz[i][j] > r_max )
{
r_max = sz[i][j];
col = j;
}
}
c_min = sz[0][col];
for( i = 0 ; i < 4 ; i++ )
{
if ( sz[i][col] < c_min )
{
c_min = sz[i][col];
row = i;
}
}
if( r_max == c_min)
printf("%d %d\n%d",row+1,col+1,sz[row][col]);
else
printf("none");
return 0;
}
#include <stdio.h>
#define n 4
int main()
{
int a[4][4] = {0};
int row = 0,col = 0;
int i,j,k; //鞍点的行 列
for( i = 0; i < n; i++){
for( j = 0; j < n;j++){
scanf("%d",&a[i][j]);
}
}
//寻找鞍点
int max,min;
for( i = 0; i < n; i++){
max = a[i][0];
for( j = 0; j < n;j++){
if(a[i][j] > max){
max = a[i][j];
col = j;
}
}
min = a[0][col];
for( k=0; k < n; k++){
if( a[k][col] < min ){
min = a[k][col];
row = k;
}
}
//当前行的最大值 和 当前列的最小值
if( min == max ){
printf("%d %d\n%d",row+1,col+1,a[row][col]);
break;
}
}
//找不到鞍点 输出NO
if( min != max ){
printf("NO");
}
return 0;
}