python真可怕 发表于 2022-4-5 08:26:57

请大佬看看哪有问题,得不出最大值

#include<stdio.h>
int main(void)
{
        int max=0;
        int i;
        int arr={22,11,19,26,15};
        for(i=0;i<5;i++)
        {
        if(arr>arr)
                max=arr;
        else
                max=arr;
       
        }
        printf("%d\n",max);
return 0;
}

wp231957 发表于 2022-4-5 08:43:11

这代码不仅涉及越界的问题,而且逻辑也不对
max应当单独存放,然后所有数都与其比较
你这max随时在运动,最终肯定不是结果值

wp231957 发表于 2022-4-5 08:49:24

arr=
max=arr
for x in arr:   #这里就用c的遍历数组就可以了
    if x>max:
      max=x
print(max)
      

andy大宝 发表于 2022-4-5 09:38:59

楼上用的是Python,这里提供一种C语言解法:
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int max=0;
    int i;
    int arr={22,11,19,26,15};   
    for (i=0;i<=4;i++)
    {
      if (arr > max)
      {
            max = arr;
      }
    }
    printf("%d",max);
    return 0;
}

傻眼貓咪 发表于 2022-4-5 09:55:37

#include <stdio.h>

int main(void){
        int arr[] = { 22, 11, 19, 26, 15 }, max = 0;
       
        for(int i = 0; i < 5; i++) // 循环一遍
                if(arr > max) // 发现比 max 大的值
                        max = arr; // 更新 max 值
       
        printf("max = %d", max); // 打印
       
        return 0;
}
页: [1]
查看完整版本: 请大佬看看哪有问题,得不出最大值