Онлайн компилятор C

#include <stdio.h> enum { SIZE = 10 }; int main() { int A[SIZE]; for (int i = 0; i < SIZE; i++) { scanf("%d", &A[i]); } for (int i = 0; i < 5; i++) { for (int j = i + 1; j < 5; j++) { if (A[i] > A[j]) { int temp = A[i]; A[i] = A[j]; A[j] = temp; } } } for (int i = 5; i < 10; i++) { for (int j = i + 1; j < 10; j++) { if (A[i] < A[j]) { int temp = A[i]; A[i] = A[j]; A[j] = temp; } } } return 0; }
这段代码的功能是:先读入10个整数存入数组A,然后将前5个元素按升序排序,后5个元素按降序排序。但代码没有输出结果,所以排序后的数组无法看到。

- 代码缺少输出语句。你需要在排序完成后,用循环打印数组A的所有元素,才能看到排序结果。
- 注意排序的范围:前5个元素是下标0到4,后5个元素是下标5到9。你的循环边界是正确的,但可以思考一下,如果SIZE不是10,或者需要更通用的写法,该如何调整边界。