C语言求鞍点

编程知识 行业动态 更新时间:2024-06-13 00:20:23

任务描述

题目描述:找出具有mn列二维数组Array的“鞍点”,即该位置上的元素在该行上最大,在该列上最小,其中1<=m,n<=10

相关知识(略)

编程要求

输入

输入数据有多行,第一行有两个数mn,下面有m行,每行有n个数。

输出

按下列格式输出鞍点:
Array[i][j]=x
其中x代表鞍点,ij为鞍点所在的数组行和列下标,我们规定数组下标从0开始。
一个二维数组并不一定存在鞍点,此时请输出None
我们保证不会出现两个鞍点的情况,比如:
3 3
1 2 3
1 2 3
3 6 8

测试说明

平台会对您的代码进行运行测试,如果实际输出与预期输出相同,则算通关。

样例输入:

3 3
1 2 3
4 5 6
7 8 9

样例输出:

Array[0][2]=3

下面上代码

#include<stdio.h>
int main(void)
{
    int m,n;//m行n列的矩阵 
    int Array[10][10];//定义一个矩阵 
    int i,j,b=0,c=0;
    scanf("%d %d",&m,&n);//输入行和列数 
    for(i=0;i<m;i++)//输入矩阵 
	{
        for(j=0;j<n;j++)
		{
            scanf("%d",&Array[i][j]);
        }
    }
    int max=0;//用于比较每行最大的值 
    int min=0;//用于比较每行中最小的值 
    for(i=0;i<m;i++)
    {
        max=Array[i][0];
        for(j=0;j<n;j++)//找出第i行最大值
        {
             
             if(Array[i][j]>max)
             {
                 max=Array[i][j];
                 b=j;//将最大值的列数赋值给b 
             }
        }
        min=Array[0][b];
        for(int k=0;k<m;k++)//找出每行最小值 
		{
		
            if(Array[k][b]<min)
            {
                min=Array[k][b];
                c=k;//将最小的行数赋值给c 
            }
        }
        if(min==max)//判断该点是否为鞍点 
	    {
            printf("Array[%d][%d]=%d",c,b,Array[c][b]);
            break;//if ture,输出鞍点 
        }
    }
    if(min!=max)//根据题目要求,没有鞍点输出None 
	{
    	printf("None");
	}
    return 0;
}

 输入

3 3

1 4 3

4 5 6

7 8 9

输出样例:

 有天赋的人不一定成功,但努力的人一定会成功。2023加油!

更多推荐

C语言求鞍点

本文发布于:2023-03-29 20:30:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/6b5a5b748215adf28c2402679c9e81e7.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:语言   求鞍点

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!