中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

C語言數組元素排序怎么實現

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

本文小編為大家詳細介紹“C語言數組元素排序怎么實現”,內容詳細,步驟清晰,細節處理妥當,希望這篇“C語言數組元素排序怎么實現”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

    一、問題描述

    求數組的排序

    問題的描述

    如下幾點所示

    • 使用rand()庫函數隨機生成10個1-100之間的數字。

    • 聲明數組的大小為10。

    • 隨機生成的10個數字賦值給數組。

    • 給數組內的元素由小到大排序。

    二、算法實例編譯環境

    本文C語言經典算法實例的編譯環境,使用的是集成開發環境:Visual Studio 2019

    C語言數組元素排序怎么實現

    C語言數組元素排序怎么實現

    Visual Studio 2019集成的開發環境的特點有

    • Visual Studio 2019默認安裝Live Share代碼協作服務。

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

    • Visual Studio IntelliCode AI幫助。

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

    • 以及對包括WinForms和WPF在內的.NET Core 3.0項目支持等。

    三、算法實例實現過程

    3.1、包含頭文件

    包含頭文件 代碼如下所示

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

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

    3.2、定義宏和聲明數組

    定義宏和聲明數組 代碼如下所示

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

    定義了MAX ,代表了MAX 為常數10。

    聲明了數組myArr。

    3.3、聲明相關變量

    聲明相關變量 代碼如下所示

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

    聲明相關變量i, j, tempVal。

    3.4、隨機生成十個數字賦值給數組

    隨機生成十個數字賦值給數組 代碼如下所示

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

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

    通過循環,將隨機生成十個數字賦值給數組。

    3.5、輸出隨機生成的十個數字

    輸出隨機生成的十個數字 代碼如下所示

          /// <summary>
        /// 輸出隨機生成的十個數字
        /// </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");

    輸出 我們向數組中輸入的數據。

    按F5進行編譯,調試結果如下所示。

    C語言數組元素排序怎么實現

    可以正確的輸出隨機生成的數字,存儲于數組中的數據。

    3.6、數組從小到大進行排序

    數組從小到大進行排序 代碼如下所示

     /// <summary>
        /// 輸出數組元素排序好的數字
        /// </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");

    數組的排序方式為從小到大

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

    3.7、輸出數組元素排序好的數字

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

     /// <summary>
        /// 輸出數組元素排序好的數字
        /// </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");

    可以輸出排序好的數字。

    數字存儲于數字之中。

    按F5進行編譯,調試結果如下所示。

    C語言數組元素排序怎么實現

    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
    請按任意鍵繼續. . .

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

    排序算法符合要求。

    四、經典算法實例程序 完整代碼

    經典算法實例程序完整代碼如下所示

    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];     // 定義數組變量
    
        int i, j, tempVal;  // 定義變量
    
        /// <summary>
        /// 隨機生成十個數字賦值給數組
        /// </summary>
        /// <returns></returns>
        srand(time(NULL));
        for (i = 0; i < 10; i++)
        {
            myArr[i] = rand() % 100 + 1;
        }
    
        /// <summary>
        /// 輸出隨機生成的十個數字
        /// </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>
        ///  數組從小到大進行排序
        /// </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>
        /// 輸出數組元素排序好的數字
        /// </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語言數組元素排序怎么實現”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    卢龙县| 神木县| 陆川县| 湖南省| 葵青区| 深圳市| 长兴县| 灵武市| 东至县| 报价| 金寨县| 星子县| 平山县| 新沂市| 独山县| 阿鲁科尔沁旗| 乌什县| 霍林郭勒市| 静宁县| 堆龙德庆县| 抚顺县| 铁力市| 额尔古纳市| 淄博市| 肥城市| 大冶市| 睢宁县| 新巴尔虎左旗| 东至县| 鸡泽县| 凤冈县| 玉环县| 奉化市| 高台县| 滦南县| 安乡县| 博客| 鄂州市| 乡城县| 潜山县| 清远市|