当前位置:编程学习 > C/C++ >>

问题一百二十二:排序

[plain]  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 

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
  


[plain]  #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; 

#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)
     {
补充:软件开发 , C语言 ,

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,