您好,登錄后才能下訂單哦!
本文小編為大家詳細(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)的元素由小到大排序。
本文C語言經(jīng)典算法實(shí)例的編譯環(huán)境,使用的是集成開發(fā)環(huán)境:Visual Studio 2019
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)目支持等。
包含頭文件 代碼如下所示
#pragma once #include <stdio.h> #include <stdlib.h> #include <time.h> #define MAX 10 // 定義宏
將要用到的C語言頭文件包含近年來。
定義宏和聲明數(shù)組 代碼如下所示
#define MAX 10 // 定義宏 int myArr[MAX]; // 定義數(shù)組變量
定義了MAX ,代表了MAX 為常數(shù)10。
聲明了數(shù)組myArr。
聲明相關(guān)變量 代碼如下所示
int i, j, tempVal; // 定義變量
聲明相關(guān)變量i, j, tempVal。
隨機(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ù)組。
輸出隨機(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ù)。
數(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ù)組的排序方式為從小到大
采用的排序方式為冒泡排序
輸出數(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
請按任意鍵繼續(xù). . .
可以看做數(shù)字是從小到大排序輸出的。
排序算法符合要求。
經(jīng)典算法實(shí)例程序完整代碼如下所示
#pragma once #include <stdio.h> #include <stdlib.h> #include <time.h> #define MAX 10 // 定義宏
#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è)資訊頻道。
免責(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)容。