首页 > 代码库 > 排序问题

排序问题

题目描述

输入10个整数,将它们从小到大排序后输出,并给出现在每个元素在原来序列中的位置。

输入

输入数据有一行,包含10个整数,用空格分开。

输出

输出数据有两行,第一行为排序后的序列,第二行为排序后各个元素在原来序列中的位置。

示例输入

1 2 3 5 4 6 8 9 10 7

示例输出

1 2 3 4 5 6 7 8 9 101 2 3 5 4 6 10 7 8 9
#include<stdio.h>int main(){	int i,j,t,m,a[10],b[10]={1,2,3,4,5,6,7,8,9,10},n=10;	for(i=0;i<n;i++)		scanf("%d",&a[i]);	for(i=0;i<n-1;i++)		for(j=0;j<n-i-1;j++)			if(a[j]>a[j+1])			{				t=a[j];a[j]=a[j+1];a[j+1]=t;				m=b[j];b[j]=b[j+1];b[j+1]=m;			}			for(i=0;i<n;i++)				if(i<n-1)					printf("%d ",a[i]);				else					printf("%d",a[i]);			printf("\n");			for(i=0;i<n;i++)			{				if(i<n-1)					printf("%d ",b[i]);				else					printf("%d\n",b[i]);			}			return 0;}

排序问题