黑马程序员技术交流社区

标题: 关于按位置拍大小的题目 [打印本页]

作者: zhaoch    时间: 2016-4-16 00:22
标题: 关于按位置拍大小的题目
分析以下需求,并用代码实现:
        (1)键盘录入三个整数,按照从小到大的顺序输出
        (2)如果用户输入的是3 2 1,程序运行后打印格式"按照从小到大排序后的顺序为:1 2 3"


逻辑分析:
首先输入语句就不说了,定义三个变量,请注意是变量,因为变量是可以存储的,其中的值也是变化的.这对于这道题目很关键.
定义三个变量,a,b,c
分析最后的结果是输出从小到大的顺序,其实顺序输出a,b,c即可,只不过最后输出的a,b,c应该是已经存储好了由小到大的顺序
这时候应该三个数字进行比较,然后将最小的数字存储到a,中
用的知识点为
int temp;
                if (a > b) {
                        temp = a;
                        a = b;
                        b = temp;
                }
这样看就很熟悉类了吧.
然后这样a,b已经进行了重新的排序,a,已经是两个数字中的最小值了
然后用同样的方法将a和c比较
if (a > c) {
                        temp = a;
                        a = c;
                        c = temp;
                }
这样,a,c也已经重新排序存储,然后a现在是三个数字中的最小值了.
b,c也是重新存储的两个数值.然后再将b,c进行排序即可
if (b >c) {
                        temp = b;
                        b = c;
                        c = temp;
                }
然后输出语句即可
System.out.println("a=" + a + "b=" + b + "c=" + c);


作者: zhaoch    时间: 2016-4-16 00:25
附带原码
import java.util.Scanner;
                        public class Test10 {
                                public static void main(String[] args) {
                                        //1.创建键盘录入对象
                                        Scanner sc = new Scanner(System.in);
                                        //2.通过键盘录入输入三个整数
                                        System.out.println("请输入第一个整数:");
                                        int x = sc.nextInt();
                                        System.out.println("请输入第二个整数:");
                                        int y = sc.nextInt();
                                        System.out.println("请输入第三个整数:");
                                        int z = sc.nextInt();
                                        int temp;
                                        //3.将x,y,z中的最小数存入到x中
                                        if(x>y) {
                                                temp = x;
                                                x = y;
                                                y = temp;
                                        }
                                        if(x>z) {
                                                temp = x;
                                                x = z;
                                                z = temp;
                                        }
                                        //4.将y,z中的最小数存入到y中
                                        if(y>z) {
                                                temp = y;
                                                y = z;
                                                z = temp;
                                        }
                                        System.out.println("x="+x+",y="+y+",z="+z);
                                }
                        }


作者: zhaoch    时间: 2016-4-16 23:38
自己的的帖子自己顶,就当给自己做笔记了

作者: zhaoch    时间: 2016-4-17 00:04
http://bbs.itheima.com/thread-290973-1-1.html
作者: zhaoch    时间: 2016-4-19 23:19
自己的帖子,哭着也要顶上去
作者: fanlelong    时间: 2016-4-19 23:22
这个看看
作者: zhaoch    时间: 2016-4-19 23:26

作者: 天晴丶    时间: 2016-4-19 23:34
顶顶顶顶顶顶
作者: zhaoch    时间: 2016-4-21 15:08
顶顶顶顶顶顶
作者: 东方乔恩    时间: 2016-5-18 22:27
哈哈,顶顶顶




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2