只改了下循环的数字就出错了,问题出在哪里

img

img

img

img

img


返回数组中最大值和最小值的差值,明明循环的次数一样,为啥变化这么大

i不能小于6应该小于5,小于6会造成数组越界!因为arr[5]已经越界了!

你的函数名叫做 max min
里面又有变量也叫max min,重名了,你输出的是函数指针
变量改名,比如叫 ma mi

供参考:

img

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7600314
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:输入一组整数,找出这组数中最大值与最小值的下标,在主调函数中输出最大值和最小值,用指针实现。
  • 除此之外, 这篇博客: 用函数的知识来编写一个判断素数的小程序中的 题目:写一个判素数的函数,在主函数输入一个整数,输出是否为素数的信息 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    看题目在这个程序中要写两个函数一个是判断是否是素数的函数,另外一个就是main函数


  • 您还可以看一下 刘欢老师的从前端到后台,开发一个完整功能的小程序课程中的 搭建与设置服务器域名小节, 巩固相关知识点
  • 以下回答来自chatgpt:

    问题出在循环过程中的代码逻辑上,而不是与IT专家相关的技术问题。循环数字的变化可能导致最大值和最小值的选择范围发生变化,从而影响差值的大小。下面我将提供一个简单的示例代码来说明这个问题,并提供解决方案。

    def calculate_difference(arr):
        max_value = float('-inf')  # 最大值的初始值
        min_value = float('inf')   # 最小值的初始值
    
        for i in arr:
            if i > max_value:
                max_value = i
            if i < min_value:
                min_value = i
    
        difference = max_value - min_value
        return difference
    

    这段代码中,我们通过遍历给定的数组,依次更新最大值和最小值。循环中每次比较当前元素与最大值和最小值,如果当前元素大于最大值,则更新最大值;如果当前元素小于最小值,则更新最小值。最后返回最大值和最小值的差值。

    通过这种方式,无论循环次数是10还是100,返回的差值都会正确地计算出来,并且不会受循环次数的影响。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^