欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言算法練習(xí)之求二維數(shù)組最值問題

 更新時間:2022年09月04日 14:44:51   作者:編程愛好者-阿新  
這篇文章主要為大家介紹了C語言算法練習(xí)中求二維數(shù)組最值的實現(xiàn)方法,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)C語言有一定幫助,需要的可以參考一下

一、問題描述

求二維數(shù)組最大最小值

問題的描述

如下幾點所示

1.在n 行 n 列的二維整數(shù)數(shù)組中,按以下要求選出兩個數(shù)。

2.首先從每行選出大數(shù),再從選出 的 n 個大數(shù)中選出小數(shù);

3.其次,從每行 選出小數(shù),再從選出的 n 個小數(shù)中選出大數(shù)。

二、算法實例編譯環(huán)境

本文C語言經(jīng)典算法實例的編譯環(huán)境,使用的是集成開發(fā)環(huán)境:Visual Studio 2019

Visual Studio 2019官網(wǎng)鏈接如下

Visual Studio 2019官網(wǎng)鏈接

Visual Studio 2019集成的開發(fā)環(huán)境的特點有

  • Visual Studio 2019默認(rèn)安裝Live Share代碼協(xié)作服務(wù)。
  • 幫助用戶快速編寫代碼的新歡迎窗口、改進搜索功能、總體性能改進。
  • Visual Studio IntelliCode AI幫助。
  • 更好的Python虛擬和Conda支持。
  • 以及對包括WinForms和WPF在內(nèi)的.NET Core 3.0項目支持等

三、算法實例實現(xiàn)過程

3.1、包含頭文件

包含頭文件 代碼如下所示

#include <stdio.h>
#include <stdlib.h>

將要用到的C語言頭文件包含近年來。

3.2、定義宏和聲明數(shù)組

定義宏和聲明數(shù)組 代碼如下所示

#define MAXN 20
int a[MAXN][MAXN];

定義了MAXN ,代表了MAXN為常數(shù)20。

聲明了數(shù)組a。

3.3、聲明相關(guān)變量

聲明相關(guān)變量 代碼如下所示

    int min, max;
    int row, col, n;

聲明相關(guān)變量min, max,row, col, n;

3.4、輸入數(shù)組(方陣)的階

輸入數(shù)組(方陣)的階 代碼如下所示

	printf("Please input the order of the matrix:");/* 輸入方陣的階次 */
    scanf("%d", &n);

    printf("\nPlease input the elements of the matrix,\nfrom a[0][0] to a[%d][%d]:\n", n - 1, n - 1);
    for (row = 0; row < n; row++)
    {
        for (col = 0; col < n; col++)
        {
            scanf("%d", &a[row][col]);
        }
    }

根據(jù)文字提示,輸入數(shù)組(方陣)的階。

根據(jù)文字提示,向數(shù)組中輸入數(shù)據(jù)。

3.5、輸出 “輸入的數(shù)組”

輸出 “輸入的數(shù)組” 代碼如下所示

     printf("\nThe original matrix is\n");
    for (int row = 0; row < n; row++)
    {
        for (int col = 0; col < n; col++)
        {
            printf("%d ", a[row][col]);
        }
        printf("\n");
    }
    printf("\n");

輸出 我們向數(shù)組中輸入的數(shù)據(jù)。

按F5進行編譯,調(diào)試結(jié)果如下所示。

可以正確的輸出我們向數(shù)組中輸入的數(shù)據(jù)。

3.6、計算每行最大數(shù)據(jù)中的 最小的那一個數(shù)字

計算每行最大數(shù)據(jù)中的 最小的那一個數(shù)字代碼如下所示

	for (min = a[0][0], row = 0; row < n; row++)
    {
        for (max = a[row][0], col = 1; col < n; col++) /*從 row 行選出大數(shù) */
        {
            if (max < a[row][col])
            {
                max = a[row][col];
            }
        }

        if (row == 0)       /* 保存至 row 行的小數(shù) */
        {
            min = max;
        }
        else if (min > max)
        {
            min = max;
        }
    }
    printf("The minimum of maximum number is %d\n", min);

先從每行選出大數(shù)

再從選出 的 n 個大數(shù)中選出小數(shù);

按F5進行編譯,調(diào)試結(jié)果如下所示。

3.6.1 二階數(shù)組調(diào)試的結(jié)果

3.6.2 三階數(shù)組調(diào)試的結(jié)果

3.7、計算每行最小數(shù)據(jù)中的 最大的那一個數(shù)字

計算每行最小數(shù)據(jù)中的 最大的那一個數(shù)字 代碼如下所示

 	for (max = a[0][0], row = 0; row < n; row++)
    {
        for (min = a[row][0], col = 1; col < n; col++) /* 從 row 行選出小數(shù) */
        {
            if (min > a[row][col])
            {
                min = a[row][col];
            }
        }

        if (row == 0)       /*保存至 row 行的大數(shù) */
        {
            max = min;
        }
        else if (max < min)
        {
            max = min;
        }
    }

    printf("\nThe maximum of minimum numbers is %d\n", max);

先從每行 選出小數(shù),

再從選出的 n 個小數(shù)中選出大數(shù)。

按F5進行編譯,調(diào)試結(jié)果如下所示。

3.7.1 二階數(shù)組調(diào)試的結(jié)果

3.7.2 三階數(shù)組調(diào)試的結(jié)果

四、經(jīng)典算法實例程序

完整代碼

經(jīng)典算法實例程序完整代碼如下所示

4.1、main.h文件

#pragma once


#include <stdio.h>
#include <stdlib.h>

4.2、main.c文件

#define _CRT_SECURE_NO_WARNINGS

#include "Main.h"

#define MAXN 20
int a[MAXN][MAXN];

int main()
{
	system("color 3E");

    int min, max;
    int row, col, n;

    printf("Please input the order of the matrix:");/* 輸入方陣的階次 */
    scanf("%d", &n);

    printf("\nPlease input the elements of the matrix,\nfrom a[0][0] to a[%d][%d]:\n", n - 1, n - 1);
    for (row = 0; row < n; row++)
    {
        for (col = 0; col < n; col++)
        {
            scanf("%d", &a[row][col]);
        }
    }

    printf("\nThe original matrix is\n");
    for (int row = 0; row < n; row++)
    {
        for (int col = 0; col < n; col++)
        {
            printf("%d ", a[row][col]);
        }
        printf("\n");
    }
    printf("\n");

    for (min = a[0][0], row = 0; row < n; row++)
    {
        for (max = a[row][0], col = 1; col < n; col++) /*從 row 行選出大數(shù) */
        {
            if (max < a[row][col])
            {
                max = a[row][col];
            }
        }

        if (row == 0)       /* 保存至 row 行的小數(shù) */
        {
            min = max;
        }
        else if (min > max)
        {
            min = max;
        }
    }
    printf("The minimum of maximum number is %d\n", min);

    for (max = a[0][0], row = 0; row < n; row++)
    {
        for (min = a[row][0], col = 1; col < n; col++) /* 從 row 行選出小數(shù) */
        {
            if (min > a[row][col])
            {
                min = a[row][col];
            }
        }

        if (row == 0)       /*保存至 row 行的大數(shù) */
        {
            max = min;
        }
        else if (max < min)
        {
            max = min;
        }
    }

    printf("\nThe maximum of minimum numbers is %d\n", max);

	system("pause");
	return 0;
}

五、總結(jié)

本文的C語言經(jīng)典算法實例:求二維數(shù)組最大最小值,要實現(xiàn)的目標(biāo)如下

  • 在n 行 n 列的二維整數(shù)數(shù)組中,按以下要求選出兩個數(shù)。
  • 首先從每行選出大數(shù),再從選出 的 n 個大數(shù)中選出小數(shù);
  • 其次,從每行 選出小數(shù),再從選出的 n 個小數(shù)中選出大數(shù)。

到此這篇關(guān)于C語言算法練習(xí)之求二維數(shù)組最值問題的文章就介紹到這了,更多相關(guān)C語言求數(shù)組最值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • linux下實現(xiàn)的2048游戲示例分享

    linux下實現(xiàn)的2048游戲示例分享

    這篇文章主要介紹了linux下實現(xiàn)的2048游戲示例,需要的朋友可以參考下
    2014-04-04
  • C語言深入講解動態(tài)內(nèi)存分配函數(shù)的使用

    C語言深入講解動態(tài)內(nèi)存分配函數(shù)的使用

    這篇文章主要介紹了C語言動態(tài)內(nèi)存分配,C語言內(nèi)存管理相關(guān)的函數(shù)主要有realloc、calloc、malloc、free、柔性數(shù)組等,下面這篇文章帶大家了解一下
    2022-05-05
  • 神奇的c/c++小游戲((提高你的編程興趣)

    神奇的c/c++小游戲((提高你的編程興趣)

    本文通過c/c++編寫小游戲,可以提高新手們的編程興趣,接下來我們一起來看看吧
    2021-08-08
  • 詳析C++中的auto

    詳析C++中的auto

    這篇文章主要介紹了詳析C++中的auto,auto是具有自動存儲器的局部變量,C++11中,標(biāo)準(zhǔn)委員會賦予了auto全新的含義即:auto不再是一個存儲類型指示符,而作為一個新的類型指示符來指示編譯器,下面來看看文章的詳細(xì)介紹吧
    2022-01-01
  • Qt實現(xiàn)進程界面之間的鼠標(biāo)焦點切換

    Qt實現(xiàn)進程界面之間的鼠標(biāo)焦點切換

    這篇文章主要為大家詳細(xì)介紹了Qt實現(xiàn)進程界面之間的鼠標(biāo)焦點切換,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • C++中多態(tài)的定義及實現(xiàn)詳解

    C++中多態(tài)的定義及實現(xiàn)詳解

    這篇文章主要給大家介紹了關(guān)于C++中多態(tài)的定義及實現(xiàn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • C語言用循環(huán)單鏈表實現(xiàn)約瑟夫環(huán)

    C語言用循環(huán)單鏈表實現(xiàn)約瑟夫環(huán)

    這篇文章主要為大家詳細(xì)介紹了C語言用循環(huán)單鏈表實現(xiàn)約瑟夫環(huán),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • C++11?成員函數(shù)作為回調(diào)函數(shù)的使用方式

    C++11?成員函數(shù)作為回調(diào)函數(shù)的使用方式

    這篇文章主要介紹了C++11?成員函數(shù)作為回調(diào)函數(shù)的使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • C語言 深入解讀數(shù)據(jù)結(jié)構(gòu)之堆的實現(xiàn)

    C語言 深入解讀數(shù)據(jù)結(jié)構(gòu)之堆的實現(xiàn)

    堆就是用數(shù)組實現(xiàn)的二叉樹,所以它沒有使用父指針或者子指針。堆根據(jù)“堆屬性”來排序,“堆屬性”決定了樹中節(jié)點的位置
    2021-11-11
  • 解決在Mac下直接解壓C++靜態(tài)庫出現(xiàn)的問題

    解決在Mac下直接解壓C++靜態(tài)庫出現(xiàn)的問題

    最近在研究C++的各種編譯構(gòu)建過程,學(xué)習(xí)了一下cmake,gyp/ninja這些自動化構(gòu)建工具后,想著自己試下用純命令行跑一遍編譯流程。在試圖把C++靜態(tài)庫編譯為動態(tài)庫的過程中遇到了棘手的問題,找了好久后發(fā)現(xiàn)是跟Mac平臺相關(guān)的,這里記錄一下,望對遇到類似問題的童鞋有幫助。
    2016-12-12

最新評論