c语言编程 求鞍点

2025-04-29 09:46:12
推荐回答(1个)
回答1:

#include "stdio.h"
int main( )
{ int ri,repeat;
int flag,i,j,k,row,col,n,a[6][6];
scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
scanf("%d",&n);
for(i=0; i for(j=0; j scanf("%d",&a[i][j]);
/*开始编程*/
for(int i=0;i{
int rowmax=a[i][0];
for(j=0;j if(rowmax {
rowmax=a[i][j];//得到行上最大的数字
row=i;
col=j;
}
for(j=0;j if(rowmax>a[row][j]) //判断找到的行最大的数字是否小于所在列数字,如果不是,就跳出列循环,继续判断方阵的下一行
break;
else
{
continue;//判断找到的行最大的数字是否小于所在列数字,如果是,就继续下次循环
}
if(j==n)//判断列上是否最小,如果是,就设置flag,并跳出循环
{
flag=true;
break;
}
}
/*结束编程*/
if(flag)
printf("a[%d][%d]=%d\n", row, col,a[row][col]);
else
printf("NO\n");
}
}