| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 842 人关注过本帖
标题:【求助】再求更简洁的代码!看似简单的 FOR,却让我伤透脑筋!
取消只看楼主 加入收藏
lxsxd
Rank: 5Rank: 5
等 级:贵宾
威 望:14
帖 子:153
专家分:357
注 册:2014-4-15
结帖率:96.15%
收藏
已结贴  问题点数:10 回复次数:2 
【求助】再求更简洁的代码!看似简单的 FOR,却让我伤透脑筋!
一、题目
编一个程序,用for循环语句,不用数组,从键盘输入5个浮点数,要求找出最大数和最小数。
二、代码
 static void Main()
        {
            float m=0, n=0, temp=0, max=0, min=0;
            for (int i = 1; i <= 5; i++)
            {
                switch (i)
                {
                    case 1:
                        Console.WriteLine("请输入第{0}个数:", i);
                        m = float.Parse(Console.ReadLine());
                        break;
                    case 2:
                        Console.WriteLine("请输入第{0}个数:", i);
                        n = float.Parse(Console.ReadLine());
                        break;
                }
                if (i==2)
                {
                    max = Math.Max(m, n);
                    min = Math.Min(m, n);
                }
                switch (i)
                {
                    case 3:
                    case 4:
                    case 5:
                        Console.WriteLine("请输入第{0}个数:", i);
                        temp = float.Parse(Console.ReadLine());
                        max = Math.Max(max, temp);
                        min = Math.Min(min, temp);
                        break;
                }
            }
            Console.WriteLine("最大数是:{0}", max);
            Console.WriteLine("最小数是:{0}", min);
            Console.ReadLine();
        }
三、困惑
上面这个代码能实现题目的要求,但我总觉得太繁琐。在编写这个控制台程序时,困惑如下:
1)输入5个数据,要实现比较,必须让第一个数据赋值于M,让第二个数据赋值于N,然后再进行输入一个比较一个;有没有这样的比较法:输入一个,比较一个。
2)在控制台编写中,经常做到输入X个数据,找出最大值和最小值,或者次大数或次小数,用数组固然快捷,可题目要求却不能用。又要循环输入,有没有一边输入,一边比较的算法编写。

总之,让代码更简洁,更简化,这是编写代码的最高追求!

希望大侠们给予帮助!谢谢!
搜索更多相关主题的帖子: 键盘 
2014-05-21 20:22
lxsxd
Rank: 5Rank: 5
等 级:贵宾
威 望:14
帖 子:153
专家分:357
注 册:2014-4-15
收藏
得分:0 
感谢信
------
首先,感谢yhlvht的指教。yhlvht大侠的代码的确简洁了很多。可以这么说,yhlvht大侠的代码已经是简洁的无以复加的地步了。这样的代码是我孜孜不倦的追求。我希望我自己也能实现这样的编写。
其次,略微介绍一下自己的电脑基础情况。本人电脑基础过于薄弱,先前只是曾经自学过数据库编程。所以,一个问题,一道题目,我常常要想上好几天,并常常求教于论坛里的大侠,才能解决。故,yhlvht大侠的帮助对我来说真是雪中送炭。

追问:
float max = float.MinValue;  这个语句中的“float.MinValue”的含义是什么?或者说什么意思?
还有:为什么前面是max,而等式后面却是min?

[ 本帖最后由 lxsxd 于 2014-5-22 07:46 编辑 ]

艰难地走在C#自学的路上…………
2014-05-22 07:39
lxsxd
Rank: 5Rank: 5
等 级:贵宾
威 望:14
帖 子:153
专家分:357
注 册:2014-4-15
收藏
得分:0 
感谢信
------
感谢asdfv63的指教。

艰难地走在C#自学的路上…………
2014-05-22 10:00
快速回复:【求助】再求更简洁的代码!看似简单的 FOR,却让我伤透脑筋!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022499 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved