截图代码输出结果为:
白天花费12元
白天花费18元
小明打的总费用:83.2
18行:money = b + d + a * ( km - c ) * 0.2;
改为:money = b + d + a * ( km - c ) * 1.2;
乘0.2? 乘0.2恐怕还没有他本身大,应该是*1.2
24行:printf("白天花费%d元\n",money);
改为:printf("白天花费%.1f元\n",money);
好像是数据类型的问题;
30行:printf("小明打的总费用:%.1f\n",fees(9,12)+fees(12,18));
改为:printf("小明打的总费用:%.1f\n",fees(9,12)+fees(18,12));
PS:你这不是自己写的吧,第二行标注的)/*定义函数,时间time、距离kilometer*/你写个距离+时间,写反了
if(km <= 3)
这里也可以加上if判断语句判断时间,
加个判断时间为上班还是下班,上班输出上班,下班输出下班
#include <stdio.h>//头文件
float fees(int time,int kilometer)/*定义函数,时间time、距离kilometer*/
{
float a = 2.3;//每公里单价计费
int b = 13;//3公里起步价
int c = 3;//包含公里数
int d = 1;//燃油费
double money;//花费
int km = kilometer;
if(km <= 3)
{
money = b + d;
printf("小明花费%d元\n",money);
}
else if( time >= 23 || time < 5 )
{
money = b + d + a * ( km - c ) * 1.2;
if(time>4 || time<12){
printf("上班花费%.1f元\n",money);
}
else{
printf("下班花费%.1f元\n",money);
}
}
else
{
money = b + d + a * ( km - c );
if(time>4 || time<12){
printf("上班花费%.1f元\n",money);
}
else{
printf("下班花费%.1f元\n",money);
}
}
return money;
}
int main()
{
printf("小明打的总费用:%.1f\n",fees(4,12)+fees(18,12));
return 0;
}两个白天是指小明上下班都是记白天的价格,如果你把时间改一下就会输出:
夜间/白天:...
夜间/白天:...
#include <stdio.h>//头文件
float fees(int time,int kilometer)/*定义函数,时间time、距离kilometer*/
{
float a = 2.3;//每公里单价计费
int b = 13;//3公里起步价
int c = 3;//包含公里数
int d = 1;//燃油费
double money;//花费
int km = kilometer;
if(km <= 3)
{
money = b + d;
printf("小明花费%d元\n",money);
}
else if( time >= 23 || time < 5 )
{
money = b + d + a * ( km - c ) * 1.2;
printf("夜间花费%.1f元\n",money);
}
else
{
money = b + d + a * ( km - c );
printf("白天花费%.1f元\n",money);
}
return money;
}
int main()
{
printf("小明打的总费用:%.1f\n",fees(9,12)+fees(18,12));
return 0;
}夜间花费也改成%.1f
#include <stdio.h>//头文件
float fees(int time,int kilometer)/*定义函数,时间time、距离kilometer*/
{
float a = 2.3;//每公里单价计费
int b = 13;//3公里起步价
int c = 3;//包含公里数
int d = 1;//燃油费
double money;//花费
int km = kilometer;
if(km <= 3)
{
money = b + d;
printf("小明花费%d元\n",money);
}
else if( time >= 23 || time < 5 )
{
money = b + d + a * ( km - c ) * 1.2;
printf("夜间花费%d元\n",money);
}
else
{
money = b + d + a * ( km - c );
printf("白天花费%.1f元\n",money); //!!!!你这里注意改一下!!!!
}
return money;
}
int main()
{
printf("小明打的总费用:%.1f\n",fees(9,12)+fees(18,12));
return 0;
}还没有对吗?
我又试了一遍,对了啊,根据你输出的结果,是224行的字符类型没有改过来