为了账号安全,请及时绑定邮箱和手机立即绑定

有一个知识点我不懂

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

if(nums[i]>max){

       max=nums[i];

}

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

       if(nums[i]<min){

       min=nums[i];

       }

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

正在回答

5 回答

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

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

0 回复 有任何疑惑可以回复我~

懂了,谢谢

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

有一个知识点我不懂

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信