解题思路:定义两个数组,一个用来接收改变后的排序,(m+i)%n 这个是核心 保证数组末尾的下一位是首位!!!
注意事项:
参考代码:
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int fun(int n,int arr[],int a[],int m) {
for(int i=0; i<n; i++) {
int b;
b=(m+i)%n;
a[b]=arr[i];
}
return 0;
}
int main() {
int n,m;
cin>>n;
int arr[n],a[n];
for(int i=0; i<n; i++) {
cin>>arr[i];
}
cin>>m;
fun(n,arr,a,m);
for(int i=0; i<n; i++) {
cout<<a[i]<<" ";
}
}
0.0分
0 人评分