将n个整数从大到小排序后输出(可使用任意排序算法)。
输入格式
输入第一行给出一个不超过10的正整数n(n<=100)。
第二行给出n个整数,其间以空格分隔。
输出格式
在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有多余空格。
样例输入:
6
4 1 3 5 6 2
样例输出
6 5 4 3 2 1
法一:
#include<stdio.h>
int main()
{
int n, i, temp;
scanf("%d",&n);
int a[n];
for(i=0; i<n; i++)
{
scanf("%d",&a[i]);
}
for(i=0; i<n-1; i++)
{
for(int j=i+1; j<n; j++)
{
if(a[i] < a[j])
{
temp=a[j];
a[j]=a[i];
a[i]=temp;
}
}
printf("%d ",a[i]);
}
printf("%d",a[i]);
return 0;
}
法二:
#include <stdio.h>
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,a[100]={0};
scanf("%d",&n);
for(int i=0;i<n;i++)
{ scanf("%d",&a[i]);}
sort(a,a+n);//使用库的快速排序函数升序
for(int i=n-1;i>=1;i--) //降序
{printf("%d ",a[i]);}
printf("%d",a[0]);
return 0;
}