SCAU 找矩阵中的鞍点(C Programming)

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;
}
`

若做人未算聪明,更要卖力亡命。——《青春颂》

猜你喜欢

转载自blog.csdn.net/weixin_43389852/article/details/83215498