数字后移

mac2026-05-16  4

【问题描述】

有n个整数(各不相同),使前面各数顺序向后移m个位置,最后m个数变成最前面m个数,如下图所示。

要求写一函数实现以上功能,在主函数中输入n个整数,并输出调整后的n个数。

【输入形式】

第一行输入一个正整数n和一个非负整数m(0≤m≤n),以空格隔开,意义如题所示;

第二行输入n个整数,以空格隔开 【输出形式】

按照数字调整后的顺序输出n个整数 【样例输入】

5 2

1 2 3 4 5 【样例输出】

4 5 1 2 3

#include<iostream> #include<iomanip> using namespace std; int main() { int n,m; //定义后移位数m,数据个数n cin>>n>>m; int a[n],x; //定义含n个数据位置的数组,数据x for(int i=0;i<n;i++) { cin>>x; //输入数据x if(i+m<n) a[i+m]=x; //将数据储存在移动后的位置中 else a[i+m-n]=x; } for(int i=0;i<n;i++) //顺序输出各个数据 { cout<<a[i]<<' '; } return 0; }
最新回复(0)