解题代码
#include<stdio.h>
#include<stdlib.h>
int main()
{
int num, renum, i, j, t, flag=1;
scanf("%d %d", &num, &renum);
renum = renum%num;
int *a = (int *)malloc(num*sizeof(int));
for (i = 0; i < num; i++) {
scanf("%d", &a[i]);
}
for (i = 0; i < renum; i++) {
for (j = 0; j < num - renum; j++) {
t = a[renum - 1-i];
a[renum - 1 - i] = a[num - 1 - j - i];
a[num - 1 - j - i] = t;
}
}
for (i = 0; i < num; i++) {
if (flag) flag = 0;
else printf(" ");
printf("%d", a[i]);
}
return 0;
}
测试结果
问题整理
1.注意renum>num的情况。