1223 数组排序

题目描述

输入一个数组的值,求出各个值从小到大排序后的次序。

输入

输入有多组数据。

每组输入的第一个数为数组的长度n(1<=n<=10000),后面的数为数组中的值,以空格分割。

输出

各输入的值按从小到大排列的次序(最后一个数字后面没有空格)。

样例输入

1
68 
15
1 70 25 79 59 63 65 6 46 82 28 62 92 96 43

样例输出

1
1 11 3 12 7 9 10 2 6 13 4 8 14 15 5

题目分析:本题是数组排序的基本考察题,先进性排序,然后与未排序之前进行比较,逐个输出排序之后的位置。

题目代码:

#include<cstdio>
#include<algorithm>
using namespace std;
int main()
{
	int n;
	int a[10001],c[10001];
	while(scanf("%d",&n)!=EOF)
	{
	for(int i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	for(int i=0;i<n;i++)
	{
		c[i]=a[i];
	}
	sort(c,c+n);
	for(int i=0;i<n;i++)
	{
	    for(int j=0;j<n;j++)
		{
			if(a[i]==c[j])
			{
				printf("%d ",j+1);
			}	
		}
	}
	printf("\n");
}
return 0;
}

猜你喜欢

转载自blog.csdn.net/S123KO/article/details/83478380