问答详情
源自:6-1 练习题目

为什么max可以直接赋值0?而min 不可以

Console.WriteLine("分数最高的是{0},分数是{1}", na, max);

            int mam, min;

            int[] p = new int[] { 89, 78, 65, 52, 90, 92, 73, 85, 91, 95 };

            mam =0;

            min=p[0];

            for (int i = 1; i < p.Length; i++)

            {

                if (p[i] > mam) mam = p[i];

                if (p[i] < min) min = p[i];

            }

            Console.WriteLine("最大的数是:{0},最小的数是:{1}", mam, min);


提问者:巴塞罗那之恋 2017-06-15 14:07

个回答

  • 慕移动9181930
    2022-03-27 18:08:39

    亲,后面我们会把源代码公告出来的。使Dreamweaver

  • 一念征途
    2017-06-17 22:56:44

    你好,首先多说一句,变量名如果用英语单词的话,最好拼写正确,最大的英语单词最好用max。这样自己和别人都容易看明白,不容易搞错。在工作中,一个项目是由多人共同开发的,很多变量都是公用的。(嘿嘿,我有点话痨)

    现在说下“为什么max可以为0,min不能为0”。先说下在工作中,每一个项目都是根据实际情况写的,不能随便写,别人花钱让咱们写项目,咱不能写个不切合实际的项目出来,所以在写项目时,要明白掌握一些实际情况。你所写的这个项目是写 分数的,所以分数的正常区间是0-100,所以如果设置max的初值是0,那么用0与多个在0-100区间内的数相比,是可以正常取得最大值得。但如果min取值为0的话,就很有可能出问题了,因为很有可能大家的分数都大于0的,这样的话,程序的min值就错误的成为了0.如果你把min的初值设置为100,也就是取值区间的最大值,这样程序也是正常的。

    不过,我不赞成把min或者max初始值为0或者100,因为这样具有局限性,因为大家知道分数是0-100的,如果是一个可以取值任意数(包含负数)的话,按上面的写法就不好设置了。

    个人建议min 和max的初值 都设置成 数组的第一个值,这样就不用管它是取值范围了,不用管区间是不是0-100了。写代码多练习实际,同时要代码更有适用性。

    如果还有不懂得地方,可以继续回复我。如果觉得回答还不错的话,麻烦采纳一下哈!

  • 望远
    2017-06-16 22:54:17

    因为分数的范围是0-100,如果min定了最小值为0,那么如果没有一个交白卷(做了总有分吧,滑稽),那么程序就会出错,输出的最小值是0,最大值初值倒是可以设置为0,0是分数的最小值。