输入n个数,将n个数按从大到小的顺序输出(n<=10000).
输入:第一行输入一个数n,表示有n个数;第二行输入n个数。
输出:输出排序后的n个数,两两之间用一个空格隔开。
题解奉上~
#include<iostream>
using namespace std;
int main()
{
int a,b[10001],c=0,d,i;
cin>>a;
for(i=1;i<=a;i++) cin>>b[i];//数组存储数据
for(i=1;i<=a-1;i++)
{
for(d=i+1;d<=a;d++)//暴力式排序
{
if(b[d]>=b[i]) swap(b[d],b[i]);//若左边的数比右边大就互换(互换函数swap)
}
}
for(i=1;i<=a;i++)
{
cout<<b[i]<<" ";//输出
}
}
或者——
#include<iostream>
using namespace std;
int main()
{
int a,b[10001],c=0,d,i;
cin>>a;
for(i=1;i<=a;i++) cin>>b[i];//数组存储数据
sort(b,b+a+1);//直接从小到大排序函数 (加1)
for(i=a;i>=1;i--)
{
cout<<b[i]<<" ";//倒序输出
}
}