我打字形成的文檔為什么不能 轉存的其他存盤(為什么文檔不能打字了)
1286
2025-03-31
例60:C語言實現用選擇法對10個整數排序。
解析:選擇排序思路如下,設有10個元素a[1]~a[10],將a[1]與a[2]~a[10],若a[1]比a[2]~a[10]都小,則不進行交換,即無任何操作。
若a[2]~a[10]中有一個以上比a[1]小,則將其中最大的一個,與a[1]交換,此時a[1]中存放了10個中最小的數。依次類推,共進行9輪比較,a[1]~a[10]就已按由小到大的順序存放了。
整體代碼邏輯為了讓讀者更加清晰,小林這里分為四部分:
第一部分 鍵盤輸入10個數:
for(i=1;i<=10;i++)//依次鍵盤錄入10個數據 { printf("array[%d]=",i-1);//數組下標從0開始 scanf("%d",&array[i]); }
第二部分 輸出鍵盤錄入的10個數:
for(i=1;i<=10;i++)//將鍵盤錄入的10個數原樣輸出 { printf("%5d",array[i]); }
第三部分 排序邏輯:
for(i=1;i<=9;i++) { min=i;//把第一個數作為最小的 for(j=i+1;j<=10;j++) { if(array[min]>array[j])//判斷大小,小的為min { min=j; } } temp=array[i]; //大小交換 array[i]=array[min]; array[min]=temp; }
第四部分 排序后的10個數:
for(i=1;i<=10;i++)//輸出排序后的10個數 { printf("%5d",array[i]); }
源代碼演示:
#include
編譯運行結果如下:
輸入數據: array[0]=1 array[1]=4 array[2]=7 array[3]=9 array[4]=4 array[5]=3 array[6]=7 array[7]=9 array[8]=5 array[9]=3 原樣輸出: 1 4 7 9 4 3 7 9 5 3 排序輸出: 1 3 3 4 4 5 7 7 9 9 -------------------------------- Process exited after 8.036 seconds with return value 0 請按任意鍵繼續. . .
想看快速排序,歸并排序各種排序的告訴我啦
C 語言
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。