我试图让这个函数读取十个整数值(由键盘上的用户输入)到一个向量中,然后询问用户应该以循环方式正确旋转向量元素的次数。然后,该函数应执行给定的旋转次数并输出得到的旋转矢量。这是我到目前为止所拥有的。我遇到的问题是,当程序运行时,输出不正确。它没有正确旋转矢量。我输入1 2 3 4 5 6 7 8 9 10作为输入,然后数字2作为转数和我得到的输出是2,2,3,4,5,6,7,8,9 ,10,
#define _USE_MATH_DEFINES
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
void function2()
{
int num;
vector<int> rotate;
int num_rotate = 0;
cin >> num_rotate;
for (int i = 0; i < 10; i++)
{
cin >> num;
rotate.push_back(num);
}
for (int x = 0; x < num_rotate; ++x)
{
int n = rotate[9];
for (int i = 8; i >= 0; --i)
{
rotate[i + 1] = rotate[i];
}
rotate[0] = n;
}
for (int i = 0; i < rotate.size(); i++)
{
cout << rotate[i] << ", ";
}
}
int main()
{
function2();
}
答案 0 :(得分:1)
问题是函数首先要求输入旋转数,然后输入要旋转的数字。错误的输入订单。首先填充矢量,然后设置旋转次数:
int num;
vector<int> rotate;
for (int i = 0; i < 10; i++)
{
cin >> num;
rotate.push_back(num);
}
int num_rotate = 0;
cin >> num_rotate;