样例输入: 10 5
1 2 3 4 5 6 7 8 9 0
样例输出: 6 7 8 9 0 1 2 3 4 5
由于static修饰的变量,分配在静态内存区(类似于全局变量区),函数返回时,并不会释放内存,因此可以将要返回的变量加static修饰。
#include<stdio.h>
int *solve(int *s,int n,int m){
/*********Begin*********/
//建立一个新数组,把重新排序的数组放入新数组中
int i=0,j,p;
static int a[100];
for(j=0;j<n;j++)
{
p=i+n-m;
while(p>n-1) p-=n;
i++;
a[j]=*(s+p);
}
return a;
/*********End**********/
}
int main(void)
{
int n,m,s[110];
scanf("%d%d",&n,&m);
for(int i=0;i<n;i++)
scanf("%d",&s[i]);
int *ans;
/*********Begin*********/
ans=solve(s,n,m);
/*********End**********/
for(int i=0;i<n;i++){
if(i==0) printf("%d",*ans++ );
else printf(" %d",*ans++ );
}
return 0;
}