题目描述
本题要求编写程序,将数组a中的每个元素循环向右移m个位置,即将数组a中元素由a[0]、a[1]、⋯、a[n−1]变换为第a[n−m]、a[n−m+1]、⋯、a[n−1]、a[0]、a[1]、⋯、a[n−m−1]。
输入格式
输入第1行给出n(1≤n≤100)和m(1≤n≤100),第2行输入n个整数,之间用空格分隔。
输出格式
在一行中输出循环移位后的数组元素,每个元素后有一个空格。
输入样例复制
在这里给出一组输入。例如:
3 2
1 2 3
输出样例复制
在这里给出相应的输出。例如:
2 3 1
import java.util.Scanner;
public class code5 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int m = in.nextInt();
int a[] = null;
a = new int [n];
for (int i = 0;i < n; i++){ //逐个输入元素
a [i] = in.nextInt();
}
if (m > n){
m = m % n;
}
for (int i = n - m; i < n; i++ ){
System.out.println(a[i]);
}
for(int i = 0; i < n - m; i ++ ){
System.out.println(a[i]);
}
}
}
以上就是本题的一个解法,如果大家有更好的解法欢迎在评论区分享!