Online Compiler C

#include <stdio.h> int main() { int a[10]; for(int i=0;i<10;i++){scanf("%d",&a[i]);} for(int i=1;i<10;i++){int t=a[i];a[i]=a[i-1];a[i-1]=t;} for(int i=0;i<10;i++){printf("%d ",a[i]);} return 0; }
这段代码首先读取10个整数存入数组,然后从第二个元素开始,依次将每个元素与前一个元素交换,最后输出数组。

- 你的交换逻辑是逐个相邻元素交换,这实际上会把第一个元素逐步移动到数组末尾,而其他元素依次前移一位。这不是典型的数组反转或排序操作,请思考你真正想要实现的效果是什么。
- 如果目标是反转整个数组,需要从两端向中间交换元素,而不是只做相邻交换。检查你的循环范围和交换方式是否符合反转的逻辑。