c语言编程 求鞍点
发布网友
发布时间:2022-04-28 12:00
我来回答
共1个回答
热心网友
时间:2023-10-08 20:44
#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<n; i++)
for(j=0; j<n; j++)
scanf("%d",&a[i][j]);
/*开始编程*/
for(int i=0;i<n;i++)
{
int rowmax=a[i][0];
for(j=0;j<n;j++)
if(rowmax<a[i][j])
{
rowmax=a[i][j];//得到行上最大的数字
row=i;
col=j;
}
for(j=0;j<n;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");
}
}
热心网友
时间:2023-10-08 20:44
#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<n; i++)
for(j=0; j<n; j++)
scanf("%d",&a[i][j]);
/*开始编程*/
for(int i=0;i<n;i++)
{
int rowmax=a[i][0];
for(j=0;j<n;j++)
if(rowmax<a[i][j])
{
rowmax=a[i][j];//得到行上最大的数字
row=i;
col=j;
}
for(j=0;j<n;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");
}
}