这次是自己写的哈哈
注意问题:①输出的格式
②在每次调换之后,下标与学号并不匹配,需要寻找到学号相应的下标。
import java.util.Scanner;
public class Main{
public static void main(String args[]){
Scanner in=new Scanner(System.in);
int n=in.nextInt();
int k=in.nextInt();
int a[]=new int[n];
for(int i=0;i<n;i++)
a[i]=i+1;
int u,v;
for(int i=0;i<k;i++){
u=in.nextInt();
v=in.nextInt();
for(int j=0;j<n;j++)
if(a[j]==u){
u=j;break;//找到那个的下标
}
int temp=a[u];
if(v>0){
while(v>0){
a[u]=a[u+1];
v--;u++;
}
}else{
while(v<0){
a[u]=a[u-1];
v++;u--;
}
}
a[u]=temp;
}
for(int i=0;i<n;i++)
System.out.print(a[i]+" ");
in.close();
}
}
本文介绍了一个Java程序,该程序实现了一种数组元素移位的算法。通过用户输入的两个学号,程序将第一个学号对应的元素向第二个学号指示的方向移动。此过程涉及寻找初始位置并进行元素的循环移动。
2535

被折叠的 条评论
为什么被折叠?



