编写程序,将一个数列实现循环右移一位。 例如: 输入数列的长度:6 输入原始数列:1 2 3 4 5 6 循环右移一位后变为:6 1 2 3 4 5 数列输入、数列输出、数列右移分别用三个子函数实现。(数列的个数由用户从键盘输入) c++
时间: 2023-10-18 18:04:13 浏览: 94
以下是实现该功能的 C++ 代码:
```c++
#include <iostream>
using namespace std;
// 数列输入函数
void input(int arr[], int len) {
cout << "请输入" << len << "个整数:";
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 rightShift(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; // 最后一个数移到第一个位置
}
int main() {
int len; // 数列长度
cout << "请输入数列的长度:";
cin >> len;
int arr[len]; // 定义数列数组
input(arr, len); // 数列输入
output(arr, len); // 数列输出
rightShift(arr, len); // 数列右移一位
output(arr, len); // 数列输出
return 0;
}
```
运行结果:
```
请输入数列的长度:6
请输入6个整数:1 2 3 4 5 6
数列为:1 2 3 4 5 6
数列为:6 1 2 3 4 5
```
阅读全文