ALGO-39_藍橋杯_算法訓練_數組排序去重
阿新 • • 發佈:2018-04-21
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_藍橋杯_算法訓練_數組排序去重