PTA B1008 数组元素循环右移问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fuckingone/article/details/82424683

看题的时候也是懵,最短的时间内又要移动数组,还不能重新开。没思路。

看了思路,发现不用换数组,直接输出就好了。

注意:题目没说m取值,一定比N小。要把m%n。再就是结尾的格式控制。

#include<cstdio>
using namespace std;
int main(){
  int n,m;
  int a[110];
  scanf("%d %d",&n,&m);
  for(int i=0;i<n;i++){
    scanf("%d",&a[i]);
  }
  m=m%n;
  for(int i=n-m;i<n;i++){
    printf("%d ",a[i]);
  }
  for(int i=0;i<n-m;i++){
    if(i==n-m-1){
      printf("%d",a[i]);
      break;
    }
    printf("%d ",a[i]);
    
  }
  return 0;
}

猜你喜欢

转载自blog.csdn.net/fuckingone/article/details/82424683