当前位置: 首页 > article >正文

头歌题目-数组

任务描述

题目描述:找出具有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


开始你的任务吧,祝你成功!

#define N 10
#include <stdio.h>
int Maxcol(int a[][N],int n,int row){
    int i,maxcol=0;
    for(i=1;i<n;i++)
        if (a[row][i]>a[row][maxcol]) maxcol=i;
    return maxcol;
}
int Minrow(int a[][N],int m,int col){
    int i,minrow=0;
    for(i=1;i<m;i++)
        if (a[i][col]<a[minrow][col]) minrow=i;
    return minrow;
}
int main(){
    int m,n,i,j;
    int maxcol,minrow;
    int a[N][N];
    scanf("%d%d",&m,&n);
    for(i=0;i<m;i++) for(j=0;j<n;j++)
        scanf("%d",&a[i][j]);
    for(i=0;i<m;i++){
        maxcol=Maxcol(a,n,i);
        minrow=Minrow(a,m,maxcol);
        if (i==minrow){
            printf("Array[%d][%d]=%d",i,maxcol,a[i][maxcol]);
            break;
        }
    }
    if(i>=m) printf("None");
}


http://www.kler.cn/a/160915.html

相关文章:

  • ChatGPT键盘快捷键(按ctrl + /呼出)
  • 华为ensp防火墙配置(纯享版)
  • mtk Android7定制修改
  • 类文件结构详解
  • w~视觉~合集20~SAM
  • 战略共赢 软硬兼备|云途半导体与知从科技达成战略合作
  • 深入理解Zookeeper系列-2.Zookeeper基本使用和分布式锁原理
  • Rust编程语言入门教程(三)-trait
  • jQuery ajax读取本地json文件 三级联动下拉框
  • 【Java基础系列】JavaWeb入门
  • Linux CentOS本地部署SQL Server数据库结合cpolar内网穿透实现公网访问
  • 编译器和 IR:LLVM IR、SPIR-V 和 MLIR
  • QT linux下使用Qt Creator调试附加进程,加快调试
  • 大量 SVG 图标在 React 中的极速集成与应用
  • Windows精品必备工具,总有一款适合你
  • cesium 融合视频
  • Redis 数据的持久化 RDB、AOF、RDB + AOF、No persistence 各自优缺点
  • 程序员如何开发高级python爬虫?
  • 从零开始,利用ChatGPT学会写作的完整指南
  • idea报错——Access denied for user ‘root‘@‘localhost‘ (using password: YES)
  • 使用xshell连接虚拟机(服务器)
  • 阿里云Arthas使用——通过watch命令查看类的返回值 捞数据出来
  • 用C语言实现链栈的基本操作
  • 封装了一个顺滑嵌套滚动的框架
  • 结构体和链表例题2
  • 浏览器开发者工具使用(F12)