【问题描述】用选择法排序,让一个长度为n的整型数组内数据由大到小排列。n由键盘输入,排序后将数组元素依次输出。
【输入形式】输入分两行,第一行输入一个正整数n,第二行输入数组的n个数据,用空格隔开。
【输出形式】依次输出数组排序后的数据,每个数据占5列,5列内左对齐。
【样例输入】
5
1 2 3 4 5
【样例输出】
5 4 3 2 1
源代码如下:
#include <stdio.h>
#define N 10
int main(int argc, char *argv[])
{
int n,i,a[N],j,min,temp;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<(n-1);i++)
{
min=i;
for(j=i+1;j<n;j++)
if(a[j]>a[min])min=j;
temp=a[i];
a[i]=a[min];
a[min]=temp;
}
for(i=0;i<n;i++)
printf("%-5d",a[i]);//左对齐,每个数列占5行
return 0;
}