鱼C论坛

 找回密码
 立即注册
查看: 4282|回复: 4

[已解决]请大佬看看哪有问题,得不出最大值

[复制链接]
发表于 2022-4-5 08:26:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
int main(void)
{
        int max=0;
        int i;
        int arr[5]={22,11,19,26,15};
        for(i=0;i<5;i++)
        {
        if(arr[i]>arr[i+1])
                max=arr[i];
        else
                max=arr[i+1];
       
        }
        printf("%d\n",max);
return 0;
}
最佳答案
2022-4-5 09:38:59
楼上用的是Python,这里提供一种C语言解法:
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main()
  4. {
  5.     int max=0;
  6.     int i;
  7.     int arr[5]={22,11,19,26,15};   
  8.     for (i=0;i<=4;i++)
  9.     {
  10.         if (arr[i] > max)
  11.         {
  12.             max = arr[i];
  13.         }
  14.     }
  15.     printf("%d",max);
  16.     return 0;
  17. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-4-5 08:43:11 From FishC Mobile | 显示全部楼层
这代码不仅涉及越界的问题,而且逻辑也不对
max应当单独存放,然后所有数都与其比较
你这max随时在运动,最终肯定不是结果值
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-5 08:49:24 | 显示全部楼层
  1. arr=[24442,11,1944,216,115]
  2. max=arr[0]
  3. for x in arr:   #这里就用c的遍历数组就可以了
  4.     if x>max:
  5.         max=x
  6. print(max)
  7.         
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-5 09:38:59 | 显示全部楼层    本楼为最佳答案   
楼上用的是Python,这里提供一种C语言解法:
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main()
  4. {
  5.     int max=0;
  6.     int i;
  7.     int arr[5]={22,11,19,26,15};   
  8.     for (i=0;i<=4;i++)
  9.     {
  10.         if (arr[i] > max)
  11.         {
  12.             max = arr[i];
  13.         }
  14.     }
  15.     printf("%d",max);
  16.     return 0;
  17. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-5 09:55:37 From FishC Mobile | 显示全部楼层
  1. #include <stdio.h>

  2. int main(void){
  3.         int arr[] = { 22, 11, 19, 26, 15 }, max = 0;
  4.        
  5.         for(int i = 0; i < 5; i++) // 循环一遍
  6.                 if(arr[i] > max) // 发现比 max 大的值
  7.                         max = arr[i]; // 更新 max 值
  8.        
  9.         printf("max = %d", max); // 打印
  10.        
  11.         return 0;
  12. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-24 09:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表