求大神们看一下我的代码哪里错了?
截图代码输出结果为:
白天花费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; }
举报