游客 Signup | Login
中文 | En

1884 - 【C语言训练】排序问题<2>

将十个数进行从大到小的顺序进行排列

Input

十个整数

Output

以从大到小的顺序输出这个十个数

Examples

Input

1 2 3 4 5 6 7 8 9 10

Output

10 9 8 7 6 5 4 3 2 1

Solution C++

#include<iostream>
using namespace std;
void selectsort(int a[],int n)
{
	for (int i=1; i<10; i++)
	{
		int k=i;
		for (int j=i+1; j<=10; j++)
			if (a[k]<a[j]) k=j;
		if (k!=i)
		{ int t=a[k]; a[k]=a[i]; a[i]=t; }
	}
}
bool f(int a[],int n)
{
	for (int i=1; i<=n; i++)
		if (a[i]!=n-i+1) return false;
	return true;
}
int main()
{
	int a[11];
	for (int i=1; i<=10; i++) cin>>a[i];
	selectsort(a,10);	//选择排序
	for (int i=1; i<10; i++) cout<<a[i]<<" ";
	if (f(a,10)) cout<<a[10]<<endl;
	else cout<<a[10]<<" "<<endl;
	return 0;
}
Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题