题目描述
六一儿童节到了,学校组织小朋友拍合照,小朋友已经站成一排,但是身高参差不齐,老师希望小朋友按身高从高到低重新排成一排,请你帮老师把小朋友排好序的身高输出来。
输入输出格式
输入格式:
二行,第一行,n,表示有n(1 ≤ n ≤ 20000)个待排序数据。第二行,待排序数据的n个数据,每个数据间有一个空格隔开。
输出格式:
一行,排好序的n个数据,每个数据间用一个空格间隔。
输入输出样例
输入样例#1:
5
156 163 178.6 198 123
输出样例#1:
198 178.6 163 156 123
简单的做法如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{
double a[20005],temp;
int n,k;
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=n;i++)
{
k=i;
for(int j=i+1;j<=n;j++)
if(a[k]<a[j]) k=j;
if(k!=i)
{
temp=a[i];
a[i]=a[k];
a[k]=temp;
}
}
for(int i=1;i<=n;i++)
{
cout<<a[i]<<' ';
}
return 0;
}
有用的话点个赞!