文章目录
本博文源于胡凡老师的《算法笔记》,解决这道题目的关键就是先取模,后打印,打印的话直接n-m - n-1打印,然后1再打印0,n-m打印,思路特别清晰,代码也很简洁,清晰易懂
输入样例:
6 2
1 2 3 4 5 6
输出样例:
5 6 1 2 3 4
核心思想
先取模避免m大于n,然后就开始n-m - n-1的打印,然后1-n-m打印即可。
完整源码
#include<stdio.h>
int main()
{
int a[110];
int n,m,cnt = 0;
scanf("%d%d",&n,&m);
m = m%n;
for(int i =0;i<n;i++){
scanf("%d",&a[i]);
}
for(int i = n-m;i<n;i++){
//输出n-m 号 到 n-1号数字
printf("%d",a[i]);
cnt ++;
if(cnt<n) printf(" ");
}
for(int i = 0;i<n-m;i++){
printf("%d",a[i]);
cnt++;
if(cnt<n)printf(" ");
}
return 0;
}