c语言 解决数组移动
时间: 2023-02-27 12:05:48 浏览: 126
C语言中,通常可以使用循环语句实现数组的移动。具体实现方法如下:
- 向左移动数组:在循环中,从第2个元素开始,将前一个元素的值赋给当前元素,最后把第一个元素设置为0即可。
- 向右移动数组:在循环中,从倒数第二个元素开始,将后一个元素的值赋给当前元素,最后把最后一个元素设置为0即可。
以下是一个C语言的示例代码:
```
#include <stdio.h>
void shift_left(int arr[], int n) {
int i;
for (i = 1; i < n; i++) {
arr[i - 1] = arr[i];
}
arr[n - 1] = 0;
}
void shift_right(int arr[], int n) {
int i;
for (i = n - 2; i >= 0; i--) {
arr[i + 1] = arr[i];
}
arr[0] = 0;
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int i;
printf("Original array: ");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
shift_left(arr, n);
printf("Array after left shift: ");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
shift_right(arr, n);
printf("Array after right shift: ");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
阅读全文