循环右移


#include <stdio.h>
#include <stdlib.h>
int n,m,a[200];
void RotateRight()
{
int i,j,temp;
for(j=1;j<=m;j++) //m是右移的位数,一次向右移一位
{
temp=a[n];
for(i=n;i>=1;i--)
{
a[i]=a[i-1];//保留最后一位,从倒数第二位开始右移
if(i==1)
a[i]=temp;
}
}
return ;
}
int main()
{
scanf("%d%d",&n,&m);
int i;
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
RotateRight();
for(i=1;i<=n-1;i++)
printf("%d ",a[i]);
printf("%d\n",a[i]);
return 0;
}
1179

被折叠的 条评论
为什么被折叠?



