设数组A中存有n(n>0)个整数,在不允许使用另外数组的前提下,将A中的每个整数循环右移m(m>=0)个位置。即:将A中的数据由(A0A1……An-1)变换为(An-m…… An-1A0A1……An-m-1)。
要求:输入n ( 1<=n<=100)、m(m>=0)及n个整数,输出循环右移m位以后的整数序列。
输入:占二行,其中
第1行:n和m两个数,n和m之间用空格分隔。
第2行:数组A中的n个数,各数之间用空格分隔(第一个数之前和最后一个数之后无空格)。
输出:占一行,数据间用一个空格分隔(第一个数之前和最后一个数之后无空格)。
样例:
10 5
1 2 3 4 5 6 7 8 9 0
6 7 8 9 0 1 2 3 4 5
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int num, tran;
scanf("%d %d", &num, &tran);
int a[100] = { 0 };
for (int i = 0; i < num; i++)
{
scanf("%d", &a[(i + tran) % num]);
}
printf("%d", a[0]);
for (int j = 1; j < num; j++)
{
printf(" %d", a[j]);
}
return 0;
}