溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C語言數(shù)組元素排序怎么實(shí)現(xiàn)

發(fā)布時(shí)間:2022-09-05 11:54:26 來源:億速云 閱讀:103 作者:iii 欄目:開發(fā)技術(shù)

本文小編為大家詳細(xì)介紹“C語言數(shù)組元素排序怎么實(shí)現(xiàn)”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“C語言數(shù)組元素排序怎么實(shí)現(xiàn)”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。

    一、問題描述

    求數(shù)組的排序

    問題的描述

    如下幾點(diǎn)所示

    • 使用rand()庫函數(shù)隨機(jī)生成10個(gè)1-100之間的數(shù)字。

    • 聲明數(shù)組的大小為10。

    • 隨機(jī)生成的10個(gè)數(shù)字賦值給數(shù)組。

    • 給數(shù)組內(nèi)的元素由小到大排序。

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

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

    C語言數(shù)組元素排序怎么實(shí)現(xiàn)

    C語言數(shù)組元素排序怎么實(shí)現(xiàn)

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

    • Visual Studio 2019默認(rèn)安裝Live Share代碼協(xié)作服務(wù)。

    • 幫助用戶快速編寫代碼的新歡迎窗口、改進(jìn)搜索功能、總體性能改進(jìn)。

    • Visual Studio IntelliCode AI幫助。

    • 更好的Python虛擬和Conda支持。

    • 以及對包括WinForms和WPF在內(nèi)的.NET Core 3.0項(xiàng)目支持等。

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

    3.1、包含頭文件

    包含頭文件 代碼如下所示

    #pragma once
    
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    
    #define MAX 10		// 定義宏

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

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

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

        #define MAX 10        // 定義宏
        int myArr[MAX];     // 定義數(shù)組變量

    定義了MAX ,代表了MAX 為常數(shù)10。

    聲明了數(shù)組myArr。

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

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

        int i, j, tempVal;  // 定義變量

    聲明相關(guān)變量i, j, tempVal。

    3.4、隨機(jī)生成十個(gè)數(shù)字賦值給數(shù)組

    隨機(jī)生成十個(gè)數(shù)字賦值給數(shù)組 代碼如下所示

         /// <summary>
        /// 隨機(jī)生成十個(gè)數(shù)字賦值給數(shù)組
        /// </summary>
        /// <returns></returns>
        srand(time(NULL));
        for (i = 0; i < 10; i++)
        {
            myArr[i] = rand() % 100 + 1;
        }

    srand(time(NULL))可以保證每一次生成的數(shù)字都不同。

    通過循環(huán),將隨機(jī)生成十個(gè)數(shù)字賦值給數(shù)組。

    3.5、輸出隨機(jī)生成的十個(gè)數(shù)字

    輸出隨機(jī)生成的十個(gè)數(shù)字 代碼如下所示

          /// <summary>
        /// 輸出隨機(jī)生成的十個(gè)數(shù)字
        /// </summary>
        /// <returns></returns>
        printf("The ten randomly generated numbers are as follows\n");
        for (i = 0; i < 10; i++)
        {
            printf("%d ", myArr[i]);
        }
        printf("\n");

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

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

    C語言數(shù)組元素排序怎么實(shí)現(xiàn)

    可以正確的輸出隨機(jī)生成的數(shù)字,存儲(chǔ)于數(shù)組中的數(shù)據(jù)。

    3.6、數(shù)組從小到大進(jìn)行排序

    數(shù)組從小到大進(jìn)行排序 代碼如下所示

     /// <summary>
        /// 輸出數(shù)組元素排序好的數(shù)字
        /// </summary>
        /// <returns></returns>
        printf("\nThe ten randomly generated numbers are sorted from smallest to largest as follows\n");
        for (i = 0; i < 10; i++)
        {
            printf("%d ", myArr[i]);
        }
        printf("\n\n");

    數(shù)組的排序方式為從小到大

    采用的排序方式為冒泡排序

    3.7、輸出數(shù)組元素排序好的數(shù)字

    輸出數(shù)組元素排序好的數(shù)字 代碼如下所示

     /// <summary>
        /// 輸出數(shù)組元素排序好的數(shù)字
        /// </summary>
        /// <returns></returns>
        printf("\nThe ten randomly generated numbers are sorted from smallest to largest as follows\n");
        for (i = 0; i < 10; i++)
        {
            printf("%d ", myArr[i]);
        }
        printf("\n\n");

    可以輸出排序好的數(shù)字。

    數(shù)字存儲(chǔ)于數(shù)字之中。

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

    C語言數(shù)組元素排序怎么實(shí)現(xiàn)

    The ten randomly generated numbers are as follows
    78 95 27 65 62 83 19 74 8 90

    The ten randomly generated numbers are sorted from smallest to largest as follows
    8 19 27 62 65 74 78 83 90 95
    請按任意鍵繼續(xù). . .

    可以看做數(shù)字是從小到大排序輸出的。

    排序算法符合要求。

    四、經(jīng)典算法實(shí)例程序 完整代碼

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

    4.1、main.h文件

    #pragma once
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    
    #define MAX 10		// 定義宏

    4.2、main.c文件

    #define _CRT_SECURE_NO_WARNINGS
    
    #include "Main.h"
    
    int main()
    {
        system("color 3E");
    
        int myArr[MAX];     // 定義數(shù)組變量
    
        int i, j, tempVal;  // 定義變量
    
        /// <summary>
        /// 隨機(jī)生成十個(gè)數(shù)字賦值給數(shù)組
        /// </summary>
        /// <returns></returns>
        srand(time(NULL));
        for (i = 0; i < 10; i++)
        {
            myArr[i] = rand() % 100 + 1;
        }
    
        /// <summary>
        /// 輸出隨機(jī)生成的十個(gè)數(shù)字
        /// </summary>
        /// <returns></returns>
        printf("The ten randomly generated numbers are as follows\n");
        for (i = 0; i < 10; i++)
        {
            printf("%d ", myArr[i]);
        }
        printf("\n");
    
        /// <summary>
        ///  數(shù)組從小到大進(jìn)行排序
        /// </summary>
        /// <returns></returns>
        for (j = 0; j < 10; j++)
        {
            for (i = 0; i < 9 - j; i++)
            {
                if (myArr[i] > myArr[i + 1])
                {
                    tempVal = myArr[i];
    
                    myArr[i] = myArr[i + 1];
    
                    myArr[i + 1] = tempVal;
                }
            }
        }
    
        /// <summary>
        /// 輸出數(shù)組元素排序好的數(shù)字
        /// </summary>
        /// <returns></returns>
        printf("\nThe ten randomly generated numbers are sorted from smallest to largest as follows\n");
        for (i = 0; i < 10; i++)
        {
            printf("%d ", myArr[i]);
        }
        printf("\n\n");
    
    
        system("pause");
        return 0;
    }

    讀到這里,這篇“C語言數(shù)組元素排序怎么實(shí)現(xiàn)”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

    向AI問一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI