用基础c++语言写一个c++程序:有n(n<=10)个整数,使前面各数顺序向后移m(m<=n)个整数,最后m个数变成最前面的m个数。编写函数shift(a,n,m)实现上述功能,在主函数中输入n个整数并输出调整后的n个数
时间: 2023-12-14 17:39:57 浏览: 47
以下是用基础 C++ 语言实现的程序:
```cpp
#include <iostream>
using namespace std;
void shift(int a[], int n, int m) {
int temp[m];
for (int i = 0; i < m; i++) {
temp[i] = a[i];
}
for (int i = m; i < n; i++) {
a[i - m] = a[i];
}
for (int i = 0; i < m; i++) {
a[n - m + i] = temp[i];
}
}
int main() {
int n, m;
cout << "输入n:";
cin >> n;
cout << "输入m:";
cin >> m;
int a[n];
cout << "输入" << n << "个整数:" << endl;
for (int i = 0; i < n; i++) {
cin >> a[i];
}
shift(a, n, m);
cout << "调整后的" << n << "个数:" << endl;
for (int i = 0; i < n; i++) {
cout << a[i] << " ";
}
cout << endl;
return 0;
}
```
程序中定义了一个 `shift` 函数,该函数的作用是将数组 `a` 中前面各数顺序向后移动 `m` 个整数,最后 `m` 个数变成最前面的 `m` 个数。在 `main` 函数中,首先输入 `n` 和 `m`,然后输入 `n` 个整数,接着调用 `shift` 函数对数组进行调整,并输出调整后的 `n` 个数。