c语言重新排列数组x1,y1
时间: 2023-09-14 19:07:18 浏览: 89
重新排列数组1
假设数组 x1 和 y1 都有 n 个元素,要求将它们重新排列,使得对于所有的 i,都有 y1[i]=x1[i+1],同时 x1[0]=y1[n-1]。可以按照以下步骤实现:
1. 将数组 x1 的第一个元素保存到一个临时变量 temp 中;
2. 循环遍历数组 x1,将每个元素依次向前移动一位,即将 x1[i+1] 赋值给 x1[i];
3. 将 temp 赋值给 x1[n-1],即将数组 y1 的最后一个元素赋值给 x1 的第一个元素;
4. 循环遍历数组 y1,将每个元素依次向后移动一位,即将 y1[i] 赋值给 y1[i-1];
5. 将 x1 和 y1 的元素按照要求重新排列完成。
下面是一段 C 语言代码实现:
```c
#include <stdio.h>
void rearrangeArrays(int x1[], int y1[], int n) {
int temp = x1[0];
for (int i = 0; i < n-1; i++) {
x1[i] = x1[i+1];
}
x1[n-1] = y1[n-1];
for (int i = n-1; i > 0; i--) {
y1[i] = y1[i-1];
}
y1[0] = temp;
}
int main() {
int x1[5] = {1, 2, 3, 4, 5};
int y1[5] = {6, 7, 8, 9, 10};
int n = 5;
rearrangeArrays(x1, y1, n);
printf("x1: ");
for (int i = 0; i < n; i++) {
printf("%d ", x1[i]);
}
printf("\n");
printf("y1: ");
for (int i = 0; i < n; i++) {
printf("%d ", y1[i]);
}
printf("\n");
return 0;
}
```
输出结果为:
```
x1: 2 3 4 5 6
y1: 5 1 7 8 9
```
阅读全文