《C语言程序设计》习题7-程序设计题-5找鞍点

本文介绍如何在C语言中解决寻找方阵鞍点的问题。鞍点定义为元素值在行上最大,列上最小。文章提供了一种思路,即先找到第一行的最大值,再判断它在列上的位置,接着遍历后续行,直至找到鞍点或确认不存在鞍点。同时还给出了在Visual Studio 2019环境下编写的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、题目

输入1个正整数n(1<=n<=6)和n阶方阵a中的元素,假设方阵a最多有1个鞍点,如果找到a的鞍点,就输出其下标,否则,输出“NO”。鞍点的元素值在该行上最大,在该列上最小。试编写相应程序。

二、输入输出示例:(下划线代表输入的内容)

示例1:

4
1  7  4  1
4  8  3  6
1  6  1  2
0  7  8  9

a[2][1]=6

示例2:

2
1  7
4  1

NO

三、思路:首先找出第1行的最大值,然后判断该值在所在列是否最小,若是,则该值为鞍点并跳出循环;若否,则按照该思路开始遍历第2行,第3行...若遍历完最后一行仍然没有找到鞍点,则无鞍点。

四、代码实现:(IDE为visual studio 2019)

#include <stdio.h>

int main()
{
    int n, i, j, k, col, flag;
    int a[6][6];

    scanf_s("%d", &n);
    //给二维数组赋值
    for ( i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
	{
	    scanf_s("%d", &a[i][j]);
	}
    }
    //开始找鞍点
    for ( i = 0; i < n; i++)
    {
	col = 0;
	flag =
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值