输入10个整数,将它们从小到大排序后输出,并给出现在每个元素在原来序列中的位置。
输入格式:
输入数据有一行,包含10个整数,用空格分开。
输出格式:
输出数据有两行,第一行为排序后的序列,第二行为排序后各个元素在原来序列中的位置。
输入样例:
1 2 3 5 4 6 8 9 10 7
输出样例:
在这里给出相应的输出。例如:
1 2 3 4 5 6 7 8 9 10
1 2 3 5 4 6 10 7 8 9
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
C (gcc)
1
#include<stdio.h>
2
3
int main()
4
{
5
int a[10],i,j,k[10]={1,2,3,4,5,6,7,8,9,10},t;
6
for(i=0;i<10;i++)
7
{
8
scanf("%d",&a[i]);
9
}
10
for(i=0;i<=8;i++)
11
{
12
for(j=i+1;j<=9;j++)
13
{
14
if (a[i]>a[j])
15
{
16
t=a[i];a[i]=a[j];a[j]=t;
17
k[i]=j+1;
18
}
19
}
20
}
21
for(i=0;i<10;i++)
22
{
23
if (i==9)
24
printf("%d\n",a[i]);
25
else printf("%d ",a[i]);
26
}
27
for(i=0;i<10;i++)
28
{
29
if (i==9)
30
printf("%d",k[i]);
31
else printf("%d ",k[i]);
32
}
33
return 0;
34
}