鱼C论坛

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

[已解决]数组运用

[复制链接]
发表于 2023-3-5 13:04:15 | 显示全部楼层 |阅读模式
10鱼币
想不明白我这段代码问题出在哪里,运行出来竟然结果都不对,人麻了。已知发现输入浮点数后,存到数组中竟然都变成0了。怎么会这样

#include<stdio.h>

int main()
{
        int i,j;
        float max=0.0,min=0.0,result;
        float a[3];

        printf("请输入三个数据:\n");
    for(i=0;i<3;i++)
    {
            scanf("%f",&a[i]);
        }
        for(i=0;i<3;i++)
        {
                max=max<a[i]?a[i]:max;
                min=min>a[i]?a[i]:min;
        }
        result=(max-min)/min*100;
        printf("最大不平衡率:%.2f\n",result);
       
        return 0;
}
最佳答案
2023-3-5 13:04:16
别的问题没看出来, min 和 max 的初值是不是改一改比较好?比如如果所有输入都是正的,那 min 就一直是0,最后就会除零
把 min 和 max 都初始化为第一个数应该会比较好(也要考虑会不会除零)

最佳答案

查看完整内容

别的问题没看出来, min 和 max 的初值是不是改一改比较好?比如如果所有输入都是正的,那 min 就一直是0,最后就会除零 把 min 和 max 都初始化为第一个数应该会比较好(也要考虑会不会除零)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-3-5 13:04:16 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
别的问题没看出来, min 和 max 的初值是不是改一改比较好?比如如果所有输入都是正的,那 min 就一直是0,最后就会除零
把 min 和 max 都初始化为第一个数应该会比较好(也要考虑会不会除零)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-3-5 15:08:49 | 显示全部楼层
本帖最后由 wuliangtdi 于 2023-3-5 17:15 编辑
#include<stdio.h>
#include<float.h>

int main()
{
    int i, j;
    //FLT_MIN FLT_MAX分别为单浮点最小值和单浮点最大值
    float max = FLT_MIN, min = FLT_MAX, result;
    float a[3];

    printf("请输入三个数据:\n");
    for (i = 0; i < 3; i++)
    {
        scanf_s("%f", &a[i]);
    }
    //for (int k = 0; k < 3; k++)
    //{
    //    printf("%f\n", a[k]);
    //}

    for (i = 0; i < 3; i++)
    {
        max = max < a[i] ? a[i] : max;
        min = min > a[i] ? a[i] : min;
    }
    result = (max - min) / min * 100;
    printf("最大不平衡率:%.2f\n", result);

    return 0;
}

                               
登录/注册后可看大图

没啥问题啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-3-5 19:44:54 | 显示全部楼层
dolly_yos2 发表于 2023-3-5 14:16
别的问题没看出来, min 和 max 的初值是不是改一改比较好?比如如果所有输入都是正的,那 min 就一直是0, ...

确实诶,我先去试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-3-5 19:49:25 | 显示全部楼层
dolly_yos2 发表于 2023-3-5 13:04
别的问题没看出来, min 和 max 的初值是不是改一改比较好?比如如果所有输入都是正的,那 min 就一直是0, ...

我服了,光想公式去了,除法基本要求给忘记了。谢谢大佬提醒,不然我头发都快想没了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-24 08:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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