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

结果为什么是68而不是69.4?

为什么结果是68,而不是69.4?

正在回答

5 回答

你确定你的代码能正常运行?

在你定义函数cost()时,就是错误的。首先是返回值不对,你的返回值是double类型的,但是你没有使用返回值修饰符,所以默认的是int型。其次,函数的参数列表里面是形参列表,需要给定数据类型,你这里只有形参名,没有形参类型。

#include <stdio.h>
    int time;
    int distance;
    float price;
    float cost1;
    float cost_total;
    float cost(int time)
    {
    	if(time <= 23 && time > 5)
	    price = 2.3;
    	else 
	    price = 2.3*1.2;
	cost1 = 13 + price * (distance - 3) + 1;
    	printf("%d点的打车费为%f\n",time,cost1);
	return cost1;
    }
int main()
{
    distance = 12;
    cost_total = cost(9) + cost(18);
    printf("小明今天打车的总费用为%f",cost_total);
    
    return 0;
}

针对你的代码进行了稍微的排版

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

#include <stdio.h>


int Charge(int t,int m)

{

    float sum;  //打车费

    const float p = 2.3;  //单价

    const float q = 13; //起步价

    if(m <= 3)  //判断距离m<=3时的2种情况。

    

    {

        if(5<t || t<23)

    

        {   sum =q ;

            sum ++;

        

            return  sum;

        }

        else

    

        {    sum = q + m*0.2*p;

            sum ++;

            return sum;

            

        }

    }

    if(m >3) //判断距离m>3时的2种情况。

    {

        if(5<t || t<23)

    

        {   sum =q + p * (m-3);

            sum ++;

            return  sum;

        }

        else

    

        {    sum = q + p * (m-3) +  p * 0.2 * m;

            sum ++;

            return sum;

        }       

            

    }  

       

}


int main()

{

    int x = 9;

    int y = 6;

    int z = 12;

    float am = Charge(x,z);

    float pm = Charge(y,z);

    float money = am + pm;

    printf("小明每天的打车的总费用是:%.2f\n",money);

    return 0;

}


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

谢谢老王,现在懂了   之前的程序运行结果是:

9点的打车费为34.700000
18点的打车费为34.700000
小明今天打车的总费用为68.000000

0 回复 有任何疑惑可以回复我~
#include <stdio.h>
// 变量定义
int time;
int distance;
float price;
float cost1;
float cost_total;

// 子函数定义
float cost(int time)
{
    if(time <= 23 && time > 5)
        price = 2.3;
    else 
        price = 2.3*1.2;
    cost1 = 13 + price * (distance - 3) + 1;
    printf("%d点的打车费为%f\n",time,cost1);
    return cost1;
}

// 主程序
int main()
{
    distance = 12;
    cost_total = cost(9) + cost(18);
    printf("小明今天打车的总费用为%f",cost_total);
     
    return 0;
}


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

举报

0/150
提交
取消

结果为什么是68而不是69.4?

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