答案都是69.400002吗?

来源:5-14 综合练习

满慕星辰

2019-07-25 19:14

https://img3.mukewang.com/5d398f150001e49c06750344.jpg

#include <stdio.h>

float price;

float Price(int time, int distance)

{

if (distance <= 3){

price = 13;

}

else{

if (time >= 5 && time < 23){

price = 13 + (distance - 3)*2.3 + 1;

}

else{

price = 13 + (distance - 3)*2.3*1.2 + 1;

}

}

return price;

}


int main()

{

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

return 0;

}


写回答 关注

4回答

  • qq_南柯一梦_50
    2019-08-02 09:31:55

    我是69.400000emmmmm

  • 小小疾飞
    2019-07-26 09:50:47

    函数和变量定义为double就好了

    小小疾飞 回复废寝忘食陈同...

    这和内存有关,一下子也讲不清楚。或者你可以这样,不改变量类型,把%f改成%0.1f即可。

    2019-08-07 10:48:03

    共 2 条回复 >

  • 我就住在你心里
    2019-07-25 22:44:26

    #include <stdio.h>

    double fee(int n,int time)//n为公里数

    {   

       double sum;

        if(n<=3)

            return 13;

        else

        {

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

            sum=13+2.3*(n-3)+1;

           else

           {

            sum=13+2.3*1.2*(n-3)+1;

           }

            return sum;

        }

    }

    int main()

    {

        printf("小明每天打车的总费用:%0.2lf",fee(12,9)+fee(12,18));

        return 0;

    }


    满慕星辰

    if (time >= 23 || time<5) sum = 13 + 2.3*(n - 3) + 1; else { sum = 13 + 2.3*1.2*(n - 3) + 1; } return sum; 你这个地方写反了,应该换一下,写成这样: if (time >= 23 || time<5) sum = 13 + 2.3*1.2*(n - 3) + 1; else { sum = 13 + 2.3*(n - 3) + 1; } return sum;

    2019-07-25 23:08:26

    共 1 条回复 >

  • 我就住在你心里
    2019-07-25 22:43:48

    为什么我是77.68

C语言入门

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

926020 学习 · 20793 问题

查看课程

相似问题