大佬看看这样为什么输出的是两个时段都加钱的费用,看看孩子求求大佬们了
#include <stdio.h>
float n(int t)//公里n单价随着不同工作时间t改变而改变
{
float n;//定义公里单价倍数
int tflog;//定义下面switch分类的变量
if((t<5&&t>0)||(t>=23&&t<=24))//加费时间
tflog=1;
else
tflog=0;
switch(tflog)
{
case 0:n=1;
default:n=1.2;//加费为原价的1.2
}
return n;
}
float cost(float f,float M, float N)//可能早上M和晚上N上班加费情况不同
{
float money;
float Mn=n(M);//定义早班单价倍数
float Nn=n(N);//定义晚班单价倍数
if(f<=3)
money=13*2;
else
money=(f-3)*2.3*Mn+13+1+(f-3)*2.3*Nn+13+1;
return money;
}
int main()
{//输入实际上下班时间以及远近
int morning=9;
int night=18;
int far=12;
printf("小明早上%d点上班,晚上%d点下班,每天打车总费用为%.2f",morning,night,cost(far,morning,night));
return 0;
}