用c++写一个程序:一个整数序列,使前面各数顺序向后移m个位置,最后的数字则移动到序列的前面。
时间: 2024-05-01 19:17:56 浏览: 92
数据结构与算法c++实现 改变顺序表的元素次序,第奇数个元素移到前面,第偶数个元素移到后面
5星 · 资源好评率100%
好的,我可以帮您解答。以下是一个用 C 语言编写的实现向后移动整数序列的程序:
```c
#include <stdio.h>
void rotate(int arr[], int n, int m) {
int temp[m];
for(int i=0; i<m; i++) {
temp[i] = arr[i];
}
for(int i=m; i<n; i++) {
arr[i-m] = arr[i];
}
for(int i=n-m; i<n; i++) {
arr[i] = temp[i-n+m];
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5, 6, 7};
int n = 7;
int m = 3;
rotate(arr, n, m);
for(int i=0; i<n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
该程序将整数序列向后移动 m 个位置,并将最后一个数字移动到序列的前面。其中,rotate 函数实现了数据的旋转,通过暂存一个长度为 m 的数组,将前 m 个数字移到后面,后 n-m 个数字前移,最后将暂存的数组赋值给末尾的 m 个数字即可。
这个程序可以输出以下内容:
```
5 6 7 1 2 3 4
```
希望能帮到您。
阅读全文