题目描述
输入一个n,在输入n个整数。将这个数组顺时针旋转k(k<=n)次,最后将结果输出。
样例1
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int n,m,k;
int a[100];
int main(){
scanf("%d%d", &n,&k);
for(int i=0;i<n;i++){
scanf("%d",&m);
a[i]=m;
}
for(int j=1;j<=k;j++){
int o=a[n-1];
for (int i = n - 1; i >=0; i -- ){
a[i]=a[i-1];
}
a[0]=o;
}
for (int i = 0; i < n; i ++ ){
printf("%d ",a[i]);
}
}
样例2
#include <iostream>
#include <cstring>
#include <algorithm>//reverse所在库
using namespace std;
int n,m,k;
int a[100];
int main(){
scanf("%d%d",&n,&k);
for(int i=0;i<n;i++){
scanf("%d", &m);
a[i]=m;
}
reverse(a,a+n);//反转所有数组元素
reverse(a,a+k);//反转前k个元素
reverse(a+k,a+n);//反转后面几个元素
for (int i = 0; i < n; i ++ ){
printf("%d",a[i]);
}
return 0;
}