//選擇排序
#include <stdio.h>
#pragma warning (disable:4996)//由於vs2012對printf的重新定義,對其進行忽略
int main()
{
int a[10];
int i,j,k,m;
printf("請輸入10個數字");
for (i=0;i<10;i++)
{
printf("(%d)",i+1);
scanf("%d",&a[i]);
}
for (i=0;i<9;i++)//因爲是數字兩兩比較,故需比較n-1次
{
k=i;//將i賦予k,確保i自己的值始終是比較的組中第一個元素下標
for(j=k+1;j<10;j++)//尋找從i號元素到以後最小的值,賦值給i號元素
{
if (a[k]>a[j])
k=j;//使k值始終爲最小元素下標
if (k!=i)//交換a[k]與本組第一個元素的元素值
{
m=a[i];
a[i]=a[k];
a[k]=m;
}
}
}
printf("排序後的序列爲: ");
for (i=0;i<10;i++)
{
printf("%d ",a[i]);
}
}
c語言選擇排序
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.