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

C語言算法練習(xí)之?dāng)?shù)組元素排序

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

一、問題描述

求數(shù)組的排序

問題的描述

如下幾點(diǎn)所示

  • 使用rand()庫函數(shù)隨機(jī)生成10個1-100之間的數(shù)字。
  • 聲明數(shù)組的大小為10。
  • 隨機(jī)生成的10個數(shù)字賦值給數(shù)組。
  • 給數(shù)組內(nèi)的元素由小到大排序。

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

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

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

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

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ī)生成十個數(shù)字賦值給數(shù)組

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

     /// <summary>
    /// 隨機(jī)生成十個數(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ī)生成十個數(shù)字賦值給數(shù)組。

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

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

      /// <summary>
    /// 輸出隨機(jī)生成的十個數(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é)果如下所示。

可以正確的輸出隨機(jī)生成的數(shù)字,存儲于數(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ù)字存儲于數(shù)字之中。

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

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ī)生成十個數(shù)字賦值給數(shù)組
    /// </summary>
    /// <returns></returns>
    srand(time(NULL));
    for (i = 0; i < 10; i++)
    {
        myArr[i] = rand() % 100 + 1;
    }

    /// <summary>
    /// 輸出隨機(jī)生成的十個數(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;
}

五、總結(jié)

C語言經(jīng)典算法實(shí)例:數(shù)組元素排序,要實(shí)現(xiàn)的目標(biāo)如下和要點(diǎn)如下

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

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

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

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

排序方式為冒泡排序方式。

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

相關(guān)文章

  • C語言指針如何實(shí)現(xiàn)字符串逆序反轉(zhuǎn)

    C語言指針如何實(shí)現(xiàn)字符串逆序反轉(zhuǎn)

    這篇文章主要介紹了C語言指針如何實(shí)現(xiàn)字符串逆序反轉(zhuǎn),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • c語言求階乘精確值示例

    c語言求階乘精確值示例

    這篇文章主要介紹了c語言求階乘精確值示例,需要的朋友可以參考下
    2014-03-03
  • 關(guān)于STL中vector容器的一些總結(jié)

    關(guān)于STL中vector容器的一些總結(jié)

    vector作為STL提供的標(biāo)準(zhǔn)容器之一,是經(jīng)常要使用的,有很重要的地位,并且使用起來也是灰常方便。vector又被稱為向量,vector可以形象的描述為長度可以動態(tài)改變的數(shù)組,功能和數(shù)組較為相似
    2013-09-09
  • 詳解C語言實(shí)現(xiàn)推箱子的基本功能(2)

    詳解C語言實(shí)現(xiàn)推箱子的基本功能(2)

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)推箱子的基本功能的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • C 語言中實(shí)現(xiàn)環(huán)形緩沖區(qū)

    C 語言中實(shí)現(xiàn)環(huán)形緩沖區(qū)

    本文主要是介紹 C語言實(shí)現(xiàn)環(huán)形緩沖區(qū),并附有詳細(xì)實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,希望能幫助有需要的小伙伴
    2016-07-07
  • 七大經(jīng)典排序算法圖解

    七大經(jīng)典排序算法圖解

    本文詳細(xì)講解了七大經(jīng)典排序算法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12
  • C語言中數(shù)組的一些基本知識小結(jié)

    C語言中數(shù)組的一些基本知識小結(jié)

    這篇文章主要介紹了C語言中數(shù)組的一些基本知識小結(jié),其中重點(diǎn)是對于數(shù)組的內(nèi)存分配相關(guān)方面的知識整理,需要的朋友可以參考下
    2016-04-04
  • C++調(diào)用C#的DLL實(shí)現(xiàn)方法

    C++調(diào)用C#的DLL實(shí)現(xiàn)方法

    這篇文章主要介紹了C++調(diào)用C#的DLL實(shí)現(xiàn)方法,很有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-07-07
  • OpenCV實(shí)現(xiàn)圖像距離變換

    OpenCV實(shí)現(xiàn)圖像距離變換

    這篇文章主要為大家詳細(xì)介紹了OpenCV實(shí)現(xiàn)圖像距離變換,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • C語言?柔性數(shù)組的使用詳解

    C語言?柔性數(shù)組的使用詳解

    柔性數(shù)組(Flexible?Array)是引入的一個新特性,它允許你在定義結(jié)構(gòu)體時創(chuàng)建一個空數(shù)組,而這個數(shù)組的大小可以在程序運(yùn)行的過程中根據(jù)你的需求進(jìn)行更改特別注意的一點(diǎn)是:這個空數(shù)組必須聲明為結(jié)構(gòu)體的最后一個成員,并且還要求這樣的結(jié)構(gòu)體至少包含一個其他類型的成員
    2022-03-03

最新評論