【java练习题15】--排序
【程序15】 ??
题目:输入三个整数x,y,z,请把这三个数由小到大输出。 ??
1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x> y则将x与y的值进行交换,然后再用x与z进行比较,如果x> z则将x与z的值进行交换,这样能使x最小。 ?
2.
?
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);?
? ?System.out.print("请输x:");?
? ?int x = in.nextInt();?
? ?System.out.print("请输y:");?
? ?int y = in.nextInt();?
? ?System.out.print("请输z:");?
? ?int z = in.nextInt();
? ?
? ?int sort[]={x,y,z};
? ?
? ?//冒泡排序
? ?for (int i = 0; i < sort.length; i++) {
for (int j = 0; j < sort.length-i-1; j++) {
if(sort[j]>sort[j+1]){
int temp=sort[j];
sort[j]=sort[j+1];
sort[j+1]=temp;
}
}
}
? ?for (int i = 0; i < sort.length; i++) {
System.out.println(sort[i]);
}
? ?
? ?//交换排序
? ?for (int i = 0; i < sort.length; i++) {
for (int j = i+1; j < sort.length; j++) {
if(sort[i]>sort[j]){
int temp=sort[i];
sort[i]=sort[j];
sort[j]=temp;
}
}
}
? ?for (int i = 0; i < sort.length; i++) {
System.out.println(sort[i]);
}
}?