我是靠谱客的博主 眯眯眼酒窝,最近开发中收集的这篇文章主要介绍PAT——乙级1008 数组元素循环右移,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

审题,分别反转前面部分,后面部分,整体。
m可能大于n,所以 m%=n一定要加。
除此之外还可以直接改输出顺序这里就没写

#include<iostream>
using namespace std;
void re(int a[],int b,int c){
  for(int i=b;i<=(b+c)/2;i++){
    int temp=a[i];
    a[i]=a[b+c-i];
    a[b+c-i]=temp;
  }
}
int main(){
  int n,m;
  int i;
  cin>>n>>m;
  m%=n;
  int a[500];
  for(i=0;i<n;i++){
    cin>>a[i];
  }//i=6
  re(a,0,n-m-1);
  re(a,n-m,n-1);
  re(a, 0, n-1);
  cout<<a[0];
  for(int i=1;i<n;i++)cout<<' '<<a[i];
  cout<<endl;
  return 0;
}

最后

以上就是眯眯眼酒窝为你收集整理的PAT——乙级1008 数组元素循环右移的全部内容,希望文章能够帮你解决PAT——乙级1008 数组元素循环右移所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部