阿伟_M囧君
2015-02-28 14:26
#include <stdio.h>
float sun(int time, int dis){
float sp = 13, p = 2.3, sum = 0;
if(dis<=3){
sum = 13+1;
}else{
if(time>=23 || time<5){
sum = 13+(dis-3)*2.3*1.2+1;
}else{
sum = 13+(dis-3)*2.3+1;
}
}
return sum;
}
int main()
{
float sum = sun(9,12)+sun(18,12);
printf("总费用:%f",sum);
return 0;
}
float类型的精度不够,在多次运算后结果就会有误差。你的这个程序要求的精度应该也不会太高,换成double应该就好了。
另外,sun函数中的sp和p变量都没有使用。
C语言入门
928241 学习 · 21546 问题
相似问题