【程序30】题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。
import java.util.Scanner;
public class Prog30{
public
static void main(String[] args){
int
[] a= {1,2,3,4,5,6,7,8,9};
Scanner
sc=new Scanner(System.in);
System.out.println(“请输入一个数:”);
int
n=sc.nextInt();
System.out.println(“插入后的数组为:”);
int
[] b=new int[a.length+1];
insert(a,b,n);
for(int
i=0;i<b.length;i++) {
System.out.print(b[i]+"
");
}
}
public
static void insert(int [] a,int [] b,int n) {
int
index = 0;
for(int
i=0;i<a.length;i++) {
b[i]=a[i];
}
for(int
j=0;j<b.length;j++) {
if(n<b[j])
{
index=j;
break;
}
}
for(int
x=b.length-1;x>index;x–) {
b[x]=b[x-1];
}
b[index]=n;
}
}
【程序31】题目:将一个数组逆序输出。
public class Prog31{
public
static void main(String[] args){
int
[] a= {1,2,5,3,4,5,6,2,8,9};
for(int
i=0;i<a.length/2;i++) {
int
temp=a[i];
a[i]=a[a.length-i-1];
a[a.length-i-1]=temp;
}
for(int
i=0;i<a.length;i++) {
System.out.print(a[i]+"
");
}
}
}
【程序32】题目:取一个整数a从右端开始的4~7位。
import java.util.Scanner;
public class Prog32{
public
static void main(String[] args){
Scanner
sc=new Scanner(System.in);
System.o