C語言用冒泡法對10個數排序


問題:用冒泡法對10個數按從小到大排序

算法思想:依次比較相鄰兩個數,如果前者大於后者,則交換順序,每執行一次循環就會得出一個最大的數,此時最大值通過循環被移動最后面。

代碼:

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int i,j,temp,num[10];       //定義一個含10個元素的數組
 5     for(i=0;i<10;i++)      
 6     {
 7         scanf("%d",&num[i]);       //依次輸入數組元素值
 8     }
 9     for(i=0;i<9;i++)          //循環次數
10     {
11         for(j=0;j<9-i;j++)      //每次循環得出一個最大值
12         {
13             if(num[j]>num[j+1])    //如果前者大於后者,則交換位置
14             {
15                 temp=num[j];
16                 num[j]=num[j+1];
17                 num[j+1]=temp;
18             }
19         }
20     }
21     for(i=0;i<10;i++)        //輸出數組元素
22         printf("%d  ",num[i]);
23     printf("\n");
24 }

執行結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM