编写函数,用指针作为参数,将n个整数,使前面各数顺序向后 移m个位置,最后m个数变成最前面m个数。在主函数中输入n个整数和输出调整后的n个数。 组的指针向数组的指 程成绩、平均分数)
时间: 2024-03-10 16:47:08 浏览: 71
有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数.
好的,以下是用指针实现将n个整数顺序向后移动m个位置的函数代码:
```c++
void move(int* arr, int n, int m) {
int* p = arr + n - 1;
for (int i = 0; i < m; i++) {
int temp = *p;
for (int j = n - 1; j > 0; j--) {
*(arr + j) = *(arr + j - 1);
}
*arr = temp;
p--;
}
}
// 示例调用代码
int arr[] = { 1, 2, 3, 4, 5 };
int n = 5, m = 2;
move(arr, n, m);
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
} // 输出 4 5 1 2 3
```
这个函数使用了指针作为参数,通过指针访问数组中的元素并进行移动。在函数中,首先使用指针p指向数组的最后一个元素,然后循环m次,每次将最后一个元素移到第一个元素的位置,其余元素依次向后移动一位。最后m个元素就被移到了数组的最前面。
在调用时,需要将数组指针、数组长度和移动的位数传入函数。
阅读全文