问题描述 给定一个长度为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; }
|