PAT乙级1008

来源:互联网 发布:php pc软件开发 编辑:程序博客网 时间:2024/06/03 12:41

不要忘记m可能大于n的情况!!!!

主要思路就是利用不更改数组,只改变输出顺序

java:


import java.util.Arrays;
import java.util.Scanner;
public class Main {
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  Scanner scanner=new Scanner(System.in);
  int n=Integer.parseInt(scanner.next());
  int m=Integer.parseInt(scanner.next())%n;
  
  String[] s=new String[n];
  for(int i=0;i<n;i++)
  {
   s[i]=scanner.next();
  }
  for(int i=n-m;i<s.length;i++)
  {
   System.out.print(s[i]+" "); 
  }
  for(int i=0;i<n-m;i++)
  {
   if(i==n-m-1)
   {
    System.out.print(s[i]); 
   }
   else
   {
    System.out.print(s[i]+" ");     
   }
  }
 }
}


c++:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
  int a[105]={0};
  int n,m,M,i;
  scanf("%d %d",&n,&M);
  m=M%n;
  for(i=0;i<n;i++)
  {
    scanf("%d",&a[i]);
  }
  for(i=n-m;i<n;i++)
  {
    printf("%d",a[i]);
  }
  for(i=0;i<n-m;i++)
  {
    if(i==n-m-1)
    {
      printf("%d",a[i]);
    }
    else
    {
      printf("%d",a[i]);
    }
  }
  return 0;
}

原创粉丝点击