#include<stdio.h>
int array[101];
void reverse(int a[],int l,int r)//数组元素逆置
{
int i,j,temp;
for(i=l,j=r;i<j;i++,j--)
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
int main()
{
int n,m,i;
scanf("%d %d",&n,&m);
m=m%n;//注意:m可能大于n
for(i=0;i<n;i++)
scanf("%d",&array[i]);
reverse(array,0,n-1);//先逆置全部数组元素,再逆置数组中第1到第m个元素和第m+1到第n个元素(左移则顺序相反)
reverse(array,0,m-1);
reverse(array,m,n-1);
for(i=0;i<n-1;i++)
printf("%d ",array[i]);
printf("%d",array[i]);
return 0;
}
1008 数组元素循环右移问题
最新推荐文章于 2022-03-18 22:39:09 发布