程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於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)
     {
        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;
}

 \

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved