感觉思路不错,
#include<stdio.h>
#include<cstring>
#include<cmath>
#include<algorithm>
#define BadBoy main()
#define ForMyLove return 0;
using namespace std;
const int MYDD = 1103 + 2*1e5;
int a[MYDD];
int BadBoy {
int n;
scanf("%d", &n);
for(int j = 0; j < n; j++)
scanf("%d", &a[j]);
for(int j = 0; j < n/2; j++){
swap(a[j], a[n-j+1]);
}
if(n == 4){
swap(a[1], a[2]);
} else if(n > 4){
for(int j = 1; j < n/2; j++){
if(j % 2) swap(a[j], a[n-j+1]);
}
}
for(int j = 0; j < n; j++)
printf("%d ", a[j]);
ForMyLove
}
本文介绍了一个简单的数组翻转算法实现,通过使用C语言标准库函数和条件判断来完成数组元素的翻转操作。该算法首先读取数组长度,然后根据数组长度的不同采用不同的翻转策略:当数组长度为4时,仅交换中间两个元素;对于长度大于4的数组,则根据索引的奇偶性选择性地进行元素交换。
1万+

被折叠的 条评论
为什么被折叠?



