程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C練習實例 >> C 練習實例37 – 排序

C 練習實例37 – 排序

編輯:C練習實例

C 練習實例37 - 排序

題目:對10個數進行排序。

程序分析:可以利用選擇法,即從後9個比較過程中,選擇一個最小的與第一個元素交換, 下次類推,即用第二個元素與後8個進行比較,並進行交換。

程序源代碼:

//  Created by www.runoob.com on 15/11/9.
//  Copyright © 2015年 菜鳥教程. All rights reserved.
//

#include<stdio.h>
#define N 10
int main()
{
    int i,j,a[N],temp;
    printf("請輸入 10 個數字:\n");
    for(i=0;i<N;i++)
        scanf("%d",&a[i]);
    for(i=0;i<N-1;i++)
    {
        int min=i;
        for(j=i+1;j<N;j++)
            if(a[min]>a[j]) min=j;
        if(min!=i)
        {
            temp=a[min];
            a[min]=a[i];
            a[i]=temp;
        }
    }
    printf("排序結果是:\n");
    for(i=0;i<N;i++)
        printf("%d ",a[i]);
    printf("\n");
    return 0;
}

以上實例輸出結果為:

請輸入 10 個數字:
23 2 27 98 234 1 4 90 88 34
排序結果是:
1 2 4 23 27 34 88 90 98 234 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved