定义一个长度为10的一维整型数组,并编写三个函数分别实现如下功能: (1)函数input:对数组的各元素实现从键盘输入赋值。 (2)函数output:将数组的所有元素向屏幕打印输出。 (3)函数moveToRight:向右循环移动数组元素 (4)函数moveToLeft:向左循环移动数组元素 (5)函数move:将数组元素向左或向右循环移动m个位置。移动规则为: ● 若m>0,调用moveToRight函数,执行向右循环移动; ● 若m=0,不做任何移动; ● 若m<0,调用moveToLeft函数,执行向左循环移动。 目前已编写完成main函数和move函数,请编程实现input函数、output函数、moveToRight函数和moveToLeft函数。
时间: 2023-07-16 11:16:10 浏览: 125
下面是完整的代码实现:
```c++
#include <iostream>
using namespace std;
void input(int arr[], int len) {
cout << "请输入" << len << "个整数:" << endl;
for (int i = 0; i < len; i++) {
cin >> arr[i];
}
}
void output(int arr[], int len) {
cout << "数组的元素为:";
for (int i = 0; i < len; i++) {
cout << arr[i] << " ";
}
cout << endl;
}
void moveToRight(int arr[], int len) {
int temp = arr[len-1];
for (int i = len-1; i > 0; i--) {
arr[i] = arr[i-1];
}
arr[0] = temp;
}
void moveToLeft(int arr[], int len) {
int temp = arr[0];
for (int i = 0; i < len-1; i++) {
arr[i] = arr[i+1];
}
arr[len-1] = temp;
}
void move(int arr[], int len, int m) {
if (m > 0) {
for (int i = 0; i < m; i++) {
moveToRight(arr, len);
}
} else if (m < 0) {
for (int i = 0; i < -m; i++) {
moveToLeft(arr, len);
}
}
}
int main() {
const int len = 10;
int arr[len];
input(arr, len);
output(arr, len);
int m;
cout << "请输入移动的位置:";
cin >> m;
move(arr, len, m);
output(arr, len);
return 0;
}
```
其中,input函数通过循环输入实现了对数组的赋值操作;output函数通过循环输出实现了将数组元素打印输出的功能;moveToRight函数和moveToLeft函数分别实现了向右和向左循环移动数组元素的功能。
阅读全文