c語言選擇排序

//選擇排序
#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]);
	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章