1. 程式人生 > >用指標方法對10個整數按由大到小的順序排序

用指標方法對10個整數按由大到小的順序排序

#include<stdio.h>
int main()
{
	void sort(int x[],int n);   //sort函式宣告
	int i,*p;
	int a[10];
	p=a;         //指標變數p指向a[0]
	printf("please input 10 integer numbers:\n");
	for(i=0;i<10;i++)
	{
		scanf("%d",p++);
	}
	p=a;          //指標變數p重新指向a[0]
	sort(p,10);   //呼叫sort函式
	for(p=a,i=0;i<10;i++)
	{
		printf("%5d",*p);  //輸出排序後的十個陣列元素
		p++;
	}
	printf("\n");
	return 0;
}
void sort(int x[],int n)  //定義sort函式,x是形引數組名
{
	int i,j,k,t;
	for(i=0;i<n-1;i++)
	{
		k=i;
		{
			for(j=i+1;j<n;j++)
			{
				if(x[j]>x[k])
				{
					k=j;
				}
				if(k!=i)
				{
					t=x[i];
					x[i]=x[k];
					x[k]=t;
				}
			}
		}
	}
}