三个数字排序问题,按照从小到大的思路排除结果
程序员文章站
2022-12-24 11:14:07
题目:输入三个整数 x,y,z,请把这三个数由小到大输出。程序分析:我们想办法把最小的数放到 x 上,先将 x 与 y 进行比较,如果 x>y 则将 x 与 y 的值进行交换,然后再用 x 与 z 进行比较,如果 x>z 则将 x 与 z 的值进行交换,这样能使 x 最小 这里我是利用if哦多次执行 ......
题目:输入三个整数 x,y,z,请把这三个数由小到大输出。
程序分析:我们想办法把最小的数放到 x 上,先将 x 与 y 进行比较,如果 x>y 则将 x 与 y 的值进行交换,
然后再用 x 与 z 进行比较,如果 x>z 则将 x 与 z 的值进行交换,这样能使 x 最小
package SuanFa; public class Demo15 { public static void main(String[] args) { // TODO Auto-generated method stub function(9, 5, 3); } public static void function(int x ,int y,int z) { if (x>y) { int value=0; value=x; x=y; y=value;//置换x y 的值 并且找出 x y 之间最小的数x } if (x>z) { int value1=0; value1=x; x=z; z=value1;// 置换 x z的值 保证 x z之间最小值 x } //至此找到的最小数x ,类比方法 同样找出 yz 之间的最小值 if (y>z) { int value2=0; value2=y; y=z; z=value2;//y z 之间置换数值 ,保证y 次小 } //多次执行if 直至满足条件后 打印输出x y z System.err.println(x+" "+y+" "+z); } }
这里我是利用if哦多次执行特点,只要满足if 提供的条件,按照顺序可以执行多个If 从而满足条件
x先于y z比较,分别找出二者之间的最小值,然后替换数值,需要重新定义一个新的变量来作为接受值
然后根据相同的方法找到yz 之间最小值 最后打印即可