C语言 有5个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数写一个函数实现以上功能
时间: 2024-06-14 07:04:43 浏览: 69
有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数.
以下是一个实现将数组中的元素向后移动m个位置的C语言函数:
```c
#include <stdio.h>
void shiftArray(int arr[], int size, int m) {
int temp[m];
// 将后面m个数保存到临时数组中
for (int i = size - m, j = 0; i < size; i++, j++) {
temp[j] = arr[i];
}
// 将前面的数向后移动m个位置
for (int i = size - 1; i >= m; i--) {
arr[i] = arr[i - m]; }
// 将临时数组中的数放到数组的前面m个位置
for (int i = 0; i < m; i++) {
arr[i] = temp[i];
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
int m = 2;
shiftArray(arr, size, m);
// 打印移动后的数组
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
运行结果为:3 4 5 1 2
阅读全文