問題描述 給定一個長度為n的數列,將這個數列按從小到大的順序排列。1<=n<=200 輸入格式 第一行為一個整數n。 第二行包含n個整數,為待排序的數,每個整數的絕對值小於10000。 輸出格式 輸出一行,按從小到大的順序輸出排序後的數列。 樣例輸入 5 8 3 6 4 9 樣例輸出 3 4 6 8 9
【我的代碼】 #include <stdio.h> #include <stdlib.h>
int main() { int i, j, n, temp; int *arr; scanf("%d", &n); arr = (int *)malloc(n * sizeof(int)); // Input for (i = 0; i < n; i++) scanf("%d", arr + i); // Sort for (i = 0; i < n; i++) { for (j = 0; j < n - i - 1; j++) { if (arr[j] > arr[j + 1]) { temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } // Output for (i = 0; i < n; i++) printf("%d ", arr[i]); putchar('\n'); free(arr); return 0; }
|