欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

三个数字排序问题,按照从小到大的思路排除结果

程序员文章站 2022-05-04 14:20:59
题目:输入三个整数 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 之间最小值 最后打印即可