在线编译器 C

#include <stdio.h> enum {size=12}; int main(){ int a[12]; for (int i=0;i<12;i++){ scanf("%d",&a[i]); } for(int i=0;i<12;i++){ if(i>=0 && i<4) printf("%d ",a[8+i]); else printf("%d ",a[i-4]); } return 0; }
这段代码首先读入12个整数存入数组a,然后按照特定顺序输出这些数。输出时,对于前4个位置(i=0到3),它输出a[8]到a[11](即数组的最后4个元素);对于后面的位置(i=4到11),它输出a[0]到a[7](即数组的前8个元素)。整体效果是将数组的后4个元素移到前面,前8个元素移到后面。

- 你的代码中使用了数字12和8等硬编码常量,但开头已经定义了枚举常量size=12。建议使用size来替代数字12,这样代码更清晰且易于修改。
- 注意输出格式中的空格数量:你用了两个空格在%d后面,但题目可能要求特定的分隔方式。检查一下输出是否与预期格式完全一致。