编写一个c++程序:有n(n<=10)个整数,使前面各数顺序向后移m(m<=n)个位置,最后m个数变成最前面的m个数
时间: 2023-12-20 17:58:36 浏览: 52
有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数.
以下是一个简单的C++程序,用于实现该功能:
```cpp
#include <iostream>
using namespace std;
int main() {
int n, m;
cout << "请输入数字个数 n 和向后移动的位置 m:";
cin >> n >> m;
int nums[n];
cout << "请输入 " << n << " 个数字:";
for (int i = 0; i < n; i++) {
cin >> nums[i];
}
int temp[m];
for (int i = n - m; i < n; i++) {
temp[i - (n - m)] = nums[i];
}
for (int i = n - 1; i >= m; i--) {
nums[i] = nums[i - m];
}
for (int i = 0; i < m; i++) {
nums[i] = temp[i];
}
cout << "移动后的数字为:";
for (int i = 0; i < n; i++) {
cout << nums[i] << " ";
}
cout << endl;
return 0;
}
```
该程序首先读取数字个数 `n` 和向后移动的位置 `m`,然后读取 `n` 个数字并存储在数组 `nums` 中。
接下来,该程序将最后 `m` 个数字复制到临时数组 `temp` 中。然后,该程序将 `nums` 数组中的数字向后移动 `m` 个位置。最后,该程序将 `temp` 数组中的数字复制到 `nums` 数组的前 `m` 个位置。
最终,程序输出移动后的数字数组。
阅读全文