题目描述
有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数,见图。
写一函数:实现以上功能,在主函数中输入n个数和输出调整后的n个数。
输入
输入数据的个数n n个整数 移动的位置m
输出
移动后的n个数
样例输入
10
1 2 3 4 5 6 7 8 9 10
2
样例输出
9 10 1 2 3 4 5 6 7 8
来源/分类
C语言
题目截图:
思路:
整体来说,进行二次输出就好。
第一次先输出挪到前面的数!
for(i=0;i<m;i++)
cout<<s[n-m+i]<<" ";
第二次再一次输出原数列的数。
for(i=0;i<n-m;i++)
{
cout<<s[i]<<" ";
}
不过,这两个for循环语句还是讲究的!
代码:
#include <iostream>
using namespace std;
int main()
{
int s[10000]={0};int n,m,i;
cin>>n;
for(i=0;i<n;i++)
{
cin>>s[i];
}
cin>>m;
for(i=0;i<m;i++)
cout<<s[n-m+i]<<" ";
for(i=0;i<n-m;i++)
{
cout<<s[i]<<" ";
}
}
代码截图:
代码执行截图:
OJ结果: