程序员测试题:PAT 1008 数组元素循环右移问题(C语言版本)
PAT题库链接
思路:
题目简单,只要循环移动,每次移动一位就可以了。
#include <stdio.h>
int main()
{
int n;
int m;
scanf("%d %d",&n,&m);
int i;
int arr[200] = {0};
for(i=0;i<n;i++)
{
scanf("%d",arr+i);
}
// for(i=0;i<n;i++)
// {
// printf("输入%d\t",arr[i]);
// }
int ii;
int flag=0;//记录arr[n-1]
for(ii=1;ii<=m;ii++)
{
flag = arr[n-1];
for(i=n-1;i>0;i--)
{
arr[i] = arr[i-1];
}
arr[0] = flag;
}
for(i=0;i<n;i++)
{
printf("%d",arr[i]);
if(i<n-1) printf(" ");
}
return 0;
}