问题 1046: [编程入门]自定义函数之数字后移
题目描述
有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数。写一函数:实现以上功能,在主函数中输入n个数和输出调整后的n个数。
输入
输入数据的个数n n个整数 移动的位置m
输出
移动后的n个数
样例输入
10
1 2 3 4 5 6 7 8 9 10
2
样例输出
9 10 1 2 3 4 5 6 7 8
分析:首先用一个数组来保存这一组整数,再每次右移之前先把数组最后一位取出并保存下来,把数组整体右移一位,再把取出的数赋给数组的第一位。
import java.util.Scanner;
import java.math.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
//需要输入的整数个数
int n = in.nextInt();
//保存输入的整数
int a[] = new int[n];
for(int i=0;i<n;i++){
a[i] = in.nextInt();
}
//移动的位数
int k = in.nextInt();
for(int i=0;i<k;i++){
int index=0;
int last = a[a.length-1];
for(int j=a.length-2;j>=0;j--){
a[j+1]=a[j];
}
a[index] = last;
index++;
}
for(int i=0;i<a.length;i++){
System.out.print(a[i]+" ");
}
}
}