C語言 怎麼樣用選擇法對10個整數排序?

2025-07-26 14:15:15 字數 4549 閱讀 4490

1樓:匿名使用者

選擇法排序是一種簡單的容易實現的對資料排序的演算法。

以整形陣列元素為例,有陣列a[10],即a[0],a[1],…a[8],a[9](假設其元素均互不相同)。要求對其元素排序使之遞增有序。

首先以乙個元素為基準,從乙個方向開始掃瞄,比如從左至右掃瞄,以a[0]為基準。

接下來從a[0],…a[9]中找出最小的元素,將其與a[0]交換。

然後將基準位置右移一位,重複上面的動作,比如,以a[1]為基準,找出a[1]~a[9]中最小的,將其與a[1]交換。

一直進行到基準位置移到陣列最後乙個元素時排序結束(此時基準左邊所有元素均遞增有序,而基準為最後乙個元素,故完成排序)。

main()

c語言程式 用選擇法對十個數排序

2樓:問明

#include

int main()

int i,j,min,temp,a[11];

printf("enter data:");

for (i=1;i<=10;i++)

printf("a[%d]=",i);

scanf("%d",&a[i]);

printf("");

printf("the orginal numbers:");

for (i=1;i<=10;i++)

printf("%5d",a[i]);

printf("");

for (i=1;i<=9;i++)

min=i;

for (j=i+1;j<=10;j++)

if (a[min]>a[j]) min=j;

temp=a[i];

a[i]=a[min];

a[min]=temp;

printf("the sorted numbers:");

for (i=1;i<=10;i++)

printf("%5d",a[i]);

printf("");

return 0;

scanf()用法:int scanf(char*format,[argument,..

scanf()函式是通用終端格式化輸入函式,它從標準輸入裝置(鍵盤)讀取輸入的資訊。可以讀入任何固有型別的資料並自動把數值變換成適當的機內格式。

scanf()函式返回成功賦值的資料項數,出錯時則返回eof;

其控制串由三類字元構成:

1、格式化說明符。

2、空白符。

3、非空白符。

格式化說明符。

附加格式說明字元表:

空白字元。空白字元會使scanf()函式在讀操作中略去輸入中的乙個或多個空白字元,空白符可以是space,tab,newline等等,直到第乙個非空白符出現為止。

非空白字元。

乙個非空白字元會使scanf()函式在讀入時剔除掉與這個非空白字元相同的字元。

3樓:青樓滿客心寂寞

/*question2:用選擇法對10個整數排序*/#include

int main()

int a[11], i, j, temp;

printf("enter data:");

for (i = 1; i < 11; i++)printf("a[%d]=", i);

scanf("%d", &a[i]);

printf("");

printf("the orginal number:");

for (i = 1; i < 11; i++)printf("%5d", a[i]);

for (i = 1; i < 10; i++)for (j = i + 1; j < 11; j++)if (a[i] >a[j])

temp = a[i]; //書上此處用了中間變數min,但其實用不到。

a[i] = a[j];

a[j] = temp;

printf("the sorted numbers:");

for (i = 1; i < 11; i++)printf("%5d", a[i]);

printf("");

return 0;

關於c語言,用選擇法對陣列中10個整數按由小到大排序

4樓:網友

d=k=i; 不能這樣寫,要分開來:

k=i;d=i;

c語言用冒泡法和選擇法對10個數進行排序

5樓:紳士與狗

選擇排序演算法c語言的實現。

選擇法排序原理:一次選定陣列中的每乙個數,記下當前位置並假設它是從當前位置開始後面數中的最小數min=i,從這個數的下乙個數開始掃瞄直到最後乙個數,並記錄下最小數的位置min,掃瞄結束後如果min不等於i,說明假設錯誤,則交換min與i位置上數。 具體實現**如下:

#include

選擇排序法對十個整數進行排序 **/

n為陣列長度;

void sort(int a,int n)}}

6樓:網友

冒泡法:

#define n 10

#include

maopao(int a[n])

printf("排序後的陣列為:");

for(i=0;i

#define n 10

void main()

for(i=0;i<10;i++)

printf("");}

7樓:牟書易

i n t a [ 1 0 ] = ;

i n t t e m p , i , j , k ;

冒 泡 法 從 大 到 小 排 序f o r ( i = 0 ; i < 1 0 - 1 ; i +

選 擇 法 從 大 到 小 排 序f o r ( i = 0 ; i < 1 0 - 1 ; i +

不就排個序嗎,搞的這麼複雜。

c語言用選擇法對10個整數按從大到小排序。10個整數用scanf函式輸入。利用陣列

8樓:樂跑小子

#include//標準輸入輸出函式呼叫需要此標頭檔案、就是那個printf和scanf函式要用的。

void main()//主函式。

讀取資料函式。

printf(""); //換行for(i=1;i<=9;i++)//比較10個資料printf("從大到小排列是:"); //輸出字元for(i=10;i>=1;i--)//迴圈輸出按大小排列的資料。

printf("%5d",a[i]);

printf("");//每輸出乙個資料換行}

9樓:丫丫

該程式功能:用選擇法對10個整數按公升序排序。

#include

#define n 10

void main()

printf("the array is:"); /* 輸出陣列元素 */

for (i=0;ia[j]) min =j;

temp=a[min]; a[min]=a[i]; a[i]=temp; /* 資料交換 */

printf("the sorted numbers: "); /* 輸出排序結果 */

for (i=0;iprintf("%5d",a[i]);

printf("");}

用簡單選擇法對10個整數排序

10樓:聽不清啊

#include

int main()

printf("原來的陣列:");

for(i=0;i<10;i++)

printf("%d ",a[i]);

printf("");

for(i=0;i<9;i++)

for(j=i+1;j<10;j++)

if(a[j]

printf("排序後的陣列:");

for(i=0;i<10;i++)

printf("%d ",a[i]);

printf("");

return 0;

用c語言程式設計:用選擇法對10個整數排序,10個整數用scanf函式輸入

11樓:飛喵某

1、開啟visual c++ 準備乙個bai空白du的c語言檔案,引入標頭檔案,在。

zhimain函式dao中定義變數和數版組:

2、接下來用scanf函式輸入權的10個數,將輸入的數存入到變數a中,接著進行比較排序,如果後乙個數比前乙個數大則利用中間變數t實現倆值互換,最後輸出排序的結果:

3、編譯執行程式,輸入任意的10個數,回車後即可看到排序後的結果。以上就是c語言中選擇排序的用法:

c語言程式設計用選擇法對10個整數排序

12樓:網友

main()

printf("由小到大排序結果為:");

for(i=0;i<10;i++)

printf("%d,",a[i]);

用c語言程式設計編寫函式,用選擇法對主函式中的字元陣列進

include void sort char s int main include void xuanze char a,int n 選擇排序if k i int main xuanze a,n for i 0 i 10 i 用選擇排序,每次把ascii碼最大的字元放到字元數回組答的前面 inclu...

c語言中怎麼樣定義字串變數c語言中怎麼樣定義一個字串變數

c語言沒有字串型別,所以沒辦法進行定義字串變數。但是可以用字元陣列來處理字串。這定義了一個字元陣列,名為a 例 char a hello 也可以用來定義一個指標變數 定義了一個指標變數,名為p 例 char p hello 接觸c語言幾天。查了一些資料是這樣理解的,有不對的地方一起學習啦。一維的情況...

c語言可以編寫怎麼樣的程式應用。

c語言是一種電腦程式設計語言。它既具有高階語言的特點,又具有組合語言的特點。它由美國貝爾研究所的於年推出。後,c語言已先後被移植到大 中 小及微型機上。它可以作為工作系統設計語言,編寫系統應用程式,也可以作為應用程式設計語言,編寫不依賴計算機硬體的應用程式。它的應用範圍廣泛,具備很強的資料處理能力...