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

为什么运行失败 求大佬解答哪里错了

#include <stdio.h>

float mtc(int a,int b)//a为公里数 b为打车时间

{

    float c;//打车总费用

    if(a<=3)

    {

        c=14;

        printf("总公里数小于等于三公里的费用为:%d\n",c);

    }

    else

        if(b>=23||b<5)

        {

            c=14+(a-3)*2.3*1.2;

            printf("夜间打车费用为:%f\n",c);

        }

        else

        {

            c=14+2.3*(a-3);

            printf("白天打车费用为:%f\n",c);

        }

        return c;

}

int main()

{

    printf("小明每天打车的总费用:%f\n",mtc(12,9)+mtc(12,18));

    return 0;

}

为什么会运行失败啊

正在回答

3 回答

  1. 你的输出语句printf("总公里数小于等于三公里的费用为:%d\n",c);    这里变量c是浮点小数 与你的“格式化输出符”不一致。应该改为%f  

  2. 第二个错误是逗号用了中文的,printf("小明每天打车的总费用:%f\n",mtc(12,9)+mtc(12,18));

    把\n"的逗号改成英文就OK了。

  3. OK点赞!!!

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

海问香00 提问者

白天打车为什么会出现且出现两次啊
2019-02-10 回复 有任何疑惑可以回复我~
#2

海问香00 提问者

就是运行结果那里
2019-02-10 回复 有任何疑惑可以回复我~

https://img1.sycdn.imooc.com//5c5e6c7b0001cbec05250220.jpg

把最后的int main()里面的句子重新写过以后,之后发现没有什么错误

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

https://img1.sycdn.imooc.com//5c5e6c240001d3e607120133.jpg

参数传错了。

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

举报

0/150
提交
取消

为什么运行失败 求大佬解答哪里错了

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