1. 程式人生 > >ALGO-39_藍橋杯_算法訓練_數組排序去重

ALGO-39_藍橋杯_算法訓練_數組排序去重

define for stdio.h main 描述 AR 訓練 組成 思路

問題描述
  輸入10個整數組成的序列,要求對其進行升序排序,並去掉重復元素。
輸入格式
  10個整數。
輸出格式
  多行輸出,每行一個元素。
樣例輸入
2 2 3 3 1 1 5 5 5 5
樣例輸出
1
2
3
5

解題思路:

若輸入的數字存在數組中,剔除,否則存儲

按從小到大的順序排序,並輸出

AC代碼:

 1 #include <stdio.h>
 2 #define MAX 10
 3 
 4 int main(void)
 5 {
 6     int i = 0 , j = 0 , k = 0;
 7     int arr[MAX+1];
 8     for
(k = 0 ; k < MAX ; k ++) 9 { 10 scanf("%d",&arr[i++]); 11 for (j = i-2 ; j >= 0 ; j --) 12 { 13 if (arr[j] == arr[i-1]) 14 { 15 i --; 16 break; 17 } 18 } 19 } 20 21 /*排序*/ 22 for
(j = 0 ; j < i ; j ++) 23 { 24 for (k = j+1 ; k < i ; k ++) 25 { 26 if (arr[k] < arr[j]) 27 { 28 arr[j] = arr[j] ^ arr[k]; 29 arr[k] = arr[j] ^ arr[k]; 30 arr[j] = arr[j] ^ arr[k]; 31 } 32
} 33 printf("%d\n",arr[j]); 34 } 35 return 0; 36 }

ALGO-39_藍橋杯_算法訓練_數組排序去重