PTA习题7-1 选择法排序 (20 分)

习题7-1 选择法排序 (20 分)

本题要求将给定的n个整数从大到小排序后输出。

输入格式:

在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有多余空格。

输入样例:

4
5 1 7 6

输出样例:

7 6 5 1

 答案一(使用函数的版本):

#include
#define MAXN 10//因为题目说不超过10个,故下此宏定义
int arrage(int a[],int n);//函数定义
int main(void)
{
	int a[MAXN],i,n;
	scanf("%d",&n);
	for(i=0;ia[index])
			{
				index=j;//记录大的那一方的下标(题目要求从大到小,当然从小到大排,最后从后往前输出也是可以的)
			}
		}
		temp=a[index];//交换两个数字
		a[index]=a[i];
		a[i]=temp;
	}
	return a[n];//返回排列好的数组
}

答案二(未使用函数的版本):

Ps:未使用函数的版本其实大部分来源于上面使用函数的部分。

#include
#define MAXN 10//因为题目说不超过10个,故下此宏定义
int main(void)
{
	int a[MAXN],i,n,index,j,temp;
	scanf("%d",&n);
	for(i=0;ia[index])
			{
				index=j;
			}
		}
		temp=a[index];
		a[index]=a[i];
		a[i]=temp;
	}
	for(i=0;i

你可能感兴趣的:(排序算法,c语言)