为了账号安全,请及时绑定邮箱和手机立即绑定

搞不懂,求大佬,谢谢

为什么运行错误呢?谢谢大佬

#include <stdio.h>

float money(int mild,int tim)

{

    float fee

    if(mild<=13)

    {

      fee=14;

     

    }

    else(mild>13)

    {

        if(tim>=23&&tim<5)

        {

           fee=((mild-13)*2.3)*1.2+14;

            

            

            

        }

        else(tim>=5&&tim<23)

        {

            fee=(mild-13)*2.2+14;

            

            

        }

    }

    return fee;    

}




int main()

{

    printf("小明需要花费%f.",money(12,9)+money(12,18));

    return 0;

}

正在回答

2 回答

//你的float 那个语句后面没分号,然后else后面是没有条件的,如果你要加个条件的话,就用else if,
#include <stdio.h>
float money(int mild,int tim)
{
    float fee;
    if(mild<=13)
    {
      fee=14;
    }
    else if(mild>13)
    {
        if(tim>=23&&tim<5)
        {
           fee=((mild-13)*2.3)*1.2+14;
        }
        else if (tim>=5&&tim<23)
        {
            fee=(mild-13)*2.2+14;
        }
    }
    return fee;
}
int main()
{
    printf("小明需要花费%f.",money(12,9)+money(12,18));
    return 0;
}


0 回复 有任何疑惑可以回复我~
#1

SOBER康 提问者

谢谢哈
2018-08-25 回复 有任何疑惑可以回复我~
#2

SOBER康 提问者

我刚才试了试,还是运行错误
2018-08-25 回复 有任何疑惑可以回复我~
#3

SOBER康 提问者

非常感谢!
2018-08-25 回复 有任何疑惑可以回复我~
#4

SOBER康 提问者

在我自己的编译器里可以算出来,但是在慕课上却不能。
2018-08-25 回复 有任何疑惑可以回复我~
#5

修裾欲溯空

嗯,如果懂了的话采纳一下
2018-08-25 回复 有任何疑惑可以回复我~
查看2条回复

float money(int mild,int tim)   //这个参数 mild 定义的是什么,我觉得你想定义的是路程。

fee=(mild-13)*2.2+14

 fee=((mild-13)*2.3)*1.2+14  //这两个公式都是想表达mild为路程吧。而且为什么一个*2.2,另一个*2.3呀,笔误了吧。

但是

    if(mild<=13)  // 13是3公里的起步价,是一个价格。你用mild - 13,是用距离(公里)- 价格(元)??

这里是不是和你最开始定义的参数含义不符合了。我猜你想写的应该是if(mild <= 3)吧。后面也一样。


0 回复 有任何疑惑可以回复我~
#1

SOBER康 提问者

马虎了,尴尬,谢谢昂
2018-08-25 回复 有任何疑惑可以回复我~
#2

要死综合征晚期 回复 SOBER康 提问者

我这波回答,没积分。哭了
2018-08-25 回复 有任何疑惑可以回复我~
#3

SOBER康 提问者 回复 要死综合征晚期

sorry啊
2018-08-25 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       924481    人
  • 解答问题       20757    个

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

进入课程

搞不懂,求大佬,谢谢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信