文档章节

C二维数组练习

陈洪波
 陈洪波
发布于 2015/05/19 19:34
字数 496
阅读 8
收藏 0

这次实例的要求是:

* 在n行n列的二维整数数组中,*
按照以下要求选出两个数。
* 首先从每行中选出最大数,在从选出的n个最大数中选出最小数;*
* 其次,从每行选出最小数,再从选出的n个小数中选出最大数。*

下面就是我的代码,在注释中可以看到我的想法:

#include <stdio.h>

/** * 实例要求: * 在n行n列的二维整数数组中, * 按照以下要求选出两个数。 * 首先从每行中选出最大数,在从选出的n个最大数中选出最小数; * 其次,从每行选出最小数,再从选出的n个小数中选出最大数。 * */
int main(void)
{
    int order;
    printf("%s\n","Please enter the order of the matrix:");
    scanf("%d",&order);

    printf("Please input the elements of the matrix,from a[0][0] to a[%d][%d]:\n",order-1,order-1);

    int matrix[order][order];

    /** * 获取用户输入,并填充到二维数组中 */
    int colums,rows;
    for(rows = 0;rows < order;rows++){
        for(colums = 0; colums < order;colums++){
            scanf("%d",&matrix[rows][colums]);
            //这里也可以这样写
            //scanf("%d",matrix[rows]+colums);
        }
    }

    /** * 找到最大元素的最小元素 * */

    //用于保存最大元素中的最小元素
    int minInMax = 0;

    for(rows = 0;rows < order;rows++){

        //用于保存行最大元素
        int maxInLine = 0;
        for(colums = 0;colums < order;colums++){
            if(matrix[rows][colums] > maxInLine)
                maxInLine = matrix[rows][colums];
        }

        if(rows == 0){
            //当获取到第一行的最大元素时,直接赋值给最小元素
            minInMax = maxInLine;
        }else{
            if(minInMax > maxInLine)
                minInMax = maxInLine;
        }
    }

    printf("The minimum of maximum number is %d.\n",minInMax);

    /** * 找到最小元素的最大元素 * */

    //用于保存最小元素中的最大元素
    int maxInMin = 0;

    for(rows = 0;rows < order;rows++){

        //用于保存行最小元素
        int minInLine = matrix[rows][0];
        for(colums = 0;colums < order;colums++){
            if(matrix[rows][colums] < minInLine)
                minInLine = matrix[rows][colums];
        }

        if(rows == 0){
            //当获取到第一行的最小元素时,直接赋值给最大元素
            maxInMin = minInLine;
        }else{
            if(maxInMin < minInLine)
                maxInMin = minInLine;
        }
    }

    printf("The maximum of minimum number is %d.\n",maxInMin);


    return 0;
}

本文转载自:http://blog.csdn.net/hongbochen1223/article/details/45103789

陈洪波
粉丝 2
博文 76
码字总数 1552
作品 0
济南
程序员
私信 提问
C Primer Plus 第10章 数组和指针 编程练习答案

1、修改程序清单10.7中的程序rain,使它不使用数组下标,而是使用指针进行计算(程序中仍然需要声明并初始化数组)。 2、编写一个程序,初始化一个double数组,然后把数组内容复制到另外两个...

idreamo
2016/08/14
261
0
黑马程序员.bobo.DAY.4

class ArrayDemo3{<span style="white-space:pre"> </span>public static void main(String[] arg)<span style="white-space:pre"> </span>{<span style="white-space:pre"> </span>//数组的......

BobbyLou
2015/05/14
7
0
java基础重点讲解,看了还不会找我(五)

视频下载地址:https://download.csdn.net/download/xxfisgirlgad/10886817 ###05.01_Java语言基础(数组概述和定义格式说明)(了解) * A:为什么要有数组(容器) * 为了存储同种数据类型的多个值...

谢小芳是女神
2018/12/30
0
0
c#简单实现二维数组和二维数组列表List<>的转置

刚看到网上一篇博文里用sql实现了行列转置。sql server 2005/2008只用一个pivot函数就可以实现sql server 2000很多行的复杂实现。提到转置,立刻想起还在求学阶段曾经做过的一个练习,用c语言...

嗯哼9925
2017/11/14
0
0
五、六天笔记总结

一: 讲解String和 StringBuffer两个类 二: 2.1 二维数组:其实二维数组其实就是一个元素为一维数组的数组。 动态初始化方式一(指定有多少个长度相同的一维数组): 数据类型[][] 变量名 ...

郭冲冲冲冲
2017/04/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周五乱弹 ——不知道假装开心,装的像么

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @巴拉迪维 :天黑了 你很忧愁, 你说世界上, 找不到四块五的妞, 行走在凌晨两点的马路上, 你疲倦地拿着半盒黄鹤楼。#今日歌曲推荐# 《四块...

小小编辑
今天
2.2K
18
64.监控平台介绍 安装zabbix 忘记admin密码

19.1 Linux监控平台介绍 19.2 zabbix监控介绍 19.3/19.4/19.6 安装zabbix 19.5 忘记Admin密码如何做 19.1 Linux监控平台介绍: 常见开源监控软件 ~1.cacti、nagios、zabbix、smokeping、ope...

oschina130111
昨天
69
0
当餐饮遇上大数据,嗯真香!

之前去开了一场会,主题是「餐饮领袖新零售峰会」。认真听完了餐饮前辈和新秀们的分享,觉得获益匪浅,把脑子里的核心纪要整理了一下,今天和大家做一个简单的分享,欢迎感兴趣的小伙伴一起交...

数澜科技
昨天
34
0
DNS-over-HTTPS 的下一代是 DNS ON BLOCKCHAIN

本文作者:PETER LAI ,是 Diode 的区块链工程师。在进入软件开发领域之前,他主要是在做工商管理相关工作。Peter Lai 也是一位活跃的开源贡献者。目前,他正在与 Diode 团队一起开发基于区块...

红薯
昨天
124
0
CC攻击带来的危害我们该如何防御?

随着网络的发展带给我们很多的便利,但是同时也带给我们一些网站安全问题,网络攻击就是常见的网站安全问题。其中作为站长最常见的就是CC攻击,CC攻击是网络攻击方式的一种,是一种比较常见的...

云漫网络Ruan
昨天
32
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部