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

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

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

一、問(wèn)題描述

求數(shù)組的排序

問(wèn)題的描述

如下幾點(diǎn)所示

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

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

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

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

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

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

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

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

3.1、包含頭文件

包含頭文件 代碼如下所示

#pragma once


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

#define MAX 10		// 定義宏

將要用到的C語(yǔ)言頭文件包含近年來(lái)。

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ù)字都不同。

通過(guò)循環(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é)果如下所示。

可以正確的輸出隨機(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é)果如下所示。

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
請(qǐng)按任意鍵繼續(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;
}

五、總結(jié)

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

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

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

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

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

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

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

相關(guān)文章

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

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

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

    c語(yǔ)言求階乘精確值示例

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

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

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

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

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

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

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

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

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

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

    這篇文章主要介紹了C語(yǔ)言中數(shù)組的一些基本知識(shí)小結(jié),其中重點(diǎn)是對(duì)于數(shù)組的內(nèi)存分配相關(guān)方面的知識(shí)整理,需要的朋友可以參考下
    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語(yǔ)言?柔性數(shù)組的使用詳解

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

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

最新評(píng)論