为什么会输出68??

来源:5-14 综合练习

六6six

2018-12-29 22:58

#include <stdio.h>

int s(int x,int y)

{

    float pay;

    if(x<=3)

    {

        pay = 14;

    }

    else

    {

        if(5<=y<23)

        {

            pay = (x-3)*2.3+14;

        }

        else

        {

            pay = (x-3)*2.3*1.2+14;

        }

        return pay;

    }

}

int main()

{

    float sum = s(12,9)+s(12,6);

    printf("总费用%f",sum);

    return 0;

}


写回答 关注

2回答

  • DRose25
    2018-12-31 16:30:51
    已采纳

    float转int时会将小数删掉 你全改成float型

    DRose2... 回复六6six

    所有的int都改试试

    2019-01-09 19:09:45

    共 2 条回复 >

  • 滴咯mook
    2019-01-01 15:38:09

    你那个if的条件还可以写成5<=y<2这种形式的吗

    六6six

    什么意思啊?

    2019-01-03 10:00:47

    共 2 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926210 学习 · 20797 问题

查看课程

相似问题