问题一百二十二:排序

Description


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


Input


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


Output


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


Sample Input


1 2 3 5 4 6 8 9 10 7

Sample Output


1 2 3 4 5 6 7 8 9 10
1 2 3 5 4 6 10 7 8 9

   

#include<stdio.h>

int main()
{
       int i;
	   int j;
	   int t;
	   int flag;
	   int a[10];
	   int b[10];

	   for(i=0; i<10; i++)
	   {
	       scanf("%d", &a[i]);
	   }

	   for(i=0; i<10; i++)
	   {
	       b[i]=a[i];
	   }

	   for(i=0; i<9; i++)
	   {
	       for(j=i+1; j<10; j++)
		   { 
		       if(a[i]> a[j])
			   {
			       t= a[i];
				   a[i]= a[j];
				   a[j]= t;
			   }
		   }
	   }

	   for(i=0; i<10; i++)
	   {
	       printf("%d", a[i]);
		   if(i<9)
		   {
		      printf(" ");
		   }
		   else
		   {
		      printf("\n");
		   }
	   }
       

	   for(i=0; i<10; i++)
	   {    
		   flag=0;
	       for(j=0; j<10; j++)
		   {
		       if(a[i]==b[j])
			   {   
				   flag=1;
			       printf("%d", j+1);
				   if(i<9)
				   {
				      printf(" ");
				   }
			   }
			   if(flag)
			   {
			      break;
			   }
		   }
	   }

	   return 0;
}

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值