c++ - 顺时针迭代旋转 3 位数字
问题描述
设计一个要求用户输入三个整数的 C++ 代码。程序将顺时针迭代地旋转这些数字。从用户那里获取旋转次数的输入。
int a,b,c,n1,n2,n3,n;
cout<<"Enter number of rotations :"<<endl;
cin>>n;
cout<<"Enter 3 integers: "<<endl;
cin>>n1;
cin>>n2;
cin>>n3;
for(int i=1 ;i<=n; i=i+3)//1,4,7,10...
{
a=n1;
b=n2;
c=n3;
cout<<"After"<<i<<" "<<"clock cycle"<<c<<a<<b<<endl;
}
for(int i=2 ; i<=n ; i=i+3)//2,5,8,11...
{
a=n1;
b=n2;
c=n3;
cout<<"After"<<i<<" "<<"clock cycle"<<b<<c<<a<<endl;
}
for(int i=3; i<=n ; i=i+3)//3,6,9,12,15...
{
a=n1;
b=n2;
c=n3;
cout<<"After"<<i<<" "<<"clock cycle"<<a<<b<<c<<endl;
}
这是我的代码,我面临的唯一问题是旋转次数不是对称的。
解决方案
我建议您将三个数字作为 a 的元素vector
并旋转vector
with std::rotate
:
以下几行:
std::vector<int> vec(3);
for(auto& elem : vec) {
std::cin >> elem;
}
旋转:_
std::rotate(vec.begin(), vec.begin() + 1, vec.end());
推荐阅读
- python - 使用来自 YouTube 的数据的堆积条形图
- api - 如何使用 long curl 命令正确解析 YAML
- python-3.x - FastAPI 使用 POST 请求将文件下载到客户端
- javascript - Docker 后端部署找不到路径'/app/package.json' - DigitalOcean
- flutter - 我可以在原生启动画面上放置超过 2 个图像吗?
- sql - 在 oracle 中分隔数值和字符值
- python - Python世纪日期过程
- bootstrap-4 - 切换按钮问题
- xaml - 将自定义按钮插入 BottomBar 外壳
- arrays - C中数组的大小小于预期