求大神们看一下我的代码哪里错了?
截图代码输出结果为:
白天花费12元
白天花费18元
小明打的总费用:83.2
2016-08-04
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*/你写个距离+时间,写反了
#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;
}#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;
}举报