问答详情
源自:6-6 编程练习

有一个知识点我不懂

       // 如果当前值大于max,则替换max的值

if(nums[i]>max){

       max=nums[i];

}

       // 如果当前值小于min,则替换min的值

       if(nums[i]<min){

       min=nums[i];

       }

这个它是怎么可以做到最大值和最小值

提问者:攻略之神 2015-10-18 19:26

个回答

  • 明Only
    2015-10-29 22:05:49

    我觉得max 不是0吧,int max = nums[0]; // 假定最大值为数组中的第一个元素,他不就是61吗?if(nums[i]>max

    也就是nums[i]>61;依次循环,得出最大值

  • 攻略之神
    2015-10-18 20:56:21

    懂了,谢谢

  • 老坛
    2015-10-18 20:30:35

    这个是首先给max赋值为0,这样循环时出现第一个大于0的值,这个值就赋给max,同理,后面出现大于max当前值得都会被赋给max,这样就取到最大值了。比如213三个数,初始是max=0,接下来的循环里max会被依此2,3,就取出最大值3了。

  • 攻略之神
    2015-10-18 20:23:58

    可是sums[i]>max   它怎么大过max,max不是0吗sums的任何一个值都打过max吧。可是怎么会选出最大的那个数

  • Curtis_yang
    2015-10-18 20:06:13

    这个外层应该有一个循环吧,循环一次,进行判断一次,如果循环出来的数据比你定义的变量所赋值的值大或者小,循环出来的值会重新给你的变量赋值!