C二维数组练习

简介: 版权声明:您好,转载请留下本人博客的地址,谢谢 https://blog.csdn.net/hongbochen1223/article/details/45103789 这次实例的要求是:* 在n行n列的二维整数数组中,* 按照以下要求选出两个数。
版权声明:您好,转载请留下本人博客的地址,谢谢 https://blog.csdn.net/hongbochen1223/article/details/45103789

这次实例的要求是:

* 在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;
}

目录
相关文章
|
6月前
|
存储 算法 搜索推荐
15一维数组
15一维数组
62 0
【一维数组和二维数组】
【一维数组和二维数组】
55 0
|
30天前
|
存储
如何通过指针数组来实现二维数组?
介绍了二维数组和指针数组的概念及其区别,详细讲解了如何使用指针数组模拟二维数组,包括定义与分配内存、访问和赋值元素、以及正确释放内存的步骤,适用于需要动态处理二维数据的场景。
|
6月前
|
存储 编译器 C语言
认识一维数组和使用
**数组概念与特性:**数组是一组相同类型元素的集合,包含至少一个元素。数组可分为一维和多维(如二维数组)。在创建时需指定大小和元素类型,如`int arr[5]`表示一个包含5个整数的数组。数组元素通过下标访问,下标从0开始。数组在内存中连续存放,可以通过`sizeof`计算数组占用的字节数以间接获取元素个数。
52 1
|
6月前
|
存储 C语言
二维数组的使用
这篇内容介绍了二维数组的概念,它是将一维数组作为元素构成的数组,也称为多维数组。文章详细讲解了如何创建二维数组,包括指定行数和列数,并展示了不同类型的初始化方式:不完全初始化(剩余元素设为0)和完全初始化。此外,还提到了按照行初始化的语法。内容中强调了C语言中二维数组的行和列都从0开始计数,并通过示例解释了如何访问和输出数组元素。最后,讨论了二维数组在内存中的存储方式,它是一维数组数组,元素在内存中是连续存放的。
50 0
|
6月前
|
存储 算法 搜索推荐
16二维数组
16二维数组
45 0
|
6月前
|
存储 算法 C++
C++013-C++二维数组
C++013-C++二维数组
C++013-C++二维数组
|
6月前
|
算法 C++
C++012-C++一维数组
C++012-C++一维数组
C++012-C++一维数组
|
6月前
|
JavaScript 前端开发 索引
如何对实现一维数组转化为二维数组
本文章实现了数组之间的转换
|
11月前
|
存储
二维数组剖析
二维数组剖析
50 0