Description
由键盘输入一个3*4(3行4列)的矩阵,输出矩阵中的鞍点(即在矩阵行中最大,列中最小的数)。
若没有鞍点,输出“NO”字样。
#include<stdio.h>
int main()
{
int i,j,k,max,min;
int col=0,row=0;/*鞍点的行、列*/
int a[3][4];
for(i=0; i<3; i++)
{
for(j=0; j<4; j++)
{
scanf("%d",&a[i][j]);
}
}
/*寻找鞍点*/
for(i=0; i<3; i++)
{
max=a[i][0];
for(j=0; j<4; j++)
{
if(a[i][j]>max)
/*注意:此处可能有两个或多个最大值的时候,也成立。下面的最小值亦相同*/
{
max=a[i][j];
col=j;
}
}
min=a[0][col];
for(k=0; k<3; k++)
{
if(a[k][col]<min)
{
min=a[k][col];
row=k;
}
}
/*如果行的最大值等于列的最小值,则为鞍点*/
if(min==max)
{
printf("%d",a[row][col]);
break;
}
}
/*如果当i循环完之后,还没有min=max,则没有鞍点*/
if(min!=max)
{printf("NO");}
return 0;
}
`
若做人未算聪明,更要卖力亡命。——《青春颂》