一个数组有8个元素,将前3个元素通过移动串到后3个位置上,如果其初始数据为:1 2 3 4 5 6 7 8,通过移动数组元素将数组变化为:4 5 6 7 8 1 2 3,用C语言写
时间: 2024-11-10 10:27:13 浏览: 14
为数组分配空间-vc程序基础3
在C语言中,你可以通过使用三个临时变量来实现这个操作。下面是一个简单的示例,展示了如何交换数组的前三个元素和后三个元素:
```c
#include <stdio.h>
void swap(int arr[], int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
int main() {
int arr[8] = {1, 2, 3, 4, 5, 6, 7, 8};
printf("Original array: ");
for (int i = 0; i < 8; i++) {
printf("%d ", arr[i]);
}
// Move the first three elements to the end
swap(arr, 0, 6); // Swap arr[0] with arr[6]
swap(arr, 1, 7); // Swap arr[1] with arr[7]
swap(arr, 2, 2); // No swap needed for arr[2], it will remain as 3
printf("\nArray after swapping: ");
for (int i = 0; i < 8; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
当你运行这段代码时,原始数组 `1 2 3 4 5 6 7 8` 将会变成 `4 5 6 7 8 1 2 3`。
阅读全文