#include <stdio.h>int f(int time,int distance){??? double money;??? if(time>=5&&time <=23)????? if(distance<=3)????? money=13;????? else ????? money=13+2.3*(distance-3);??? else????? if(distance<=3)????? money=14;????? else????? money=14+2.3*1.2*(distance-3);?? return money;}int main(){??? int a,distances=12, time1=9,time2=18,b;??? a=f(time1,distances);??? printf("上班的車費是:%d\n",&a);?b=f(time2,distances);??? printf("下班的車費是:%d\n",&b);??? return 0;}
2 回答
已采納
望遠
TA貢獻1017條經驗 獲得超1032個贊
#include?<stdio.h>
double?f(int?time,int?distance)//注意返回值類型,money是double類型,否則會損失精度
{
????double?money=0;
????if(time>=5&&time?<=23)
??????if(distance<=3)
????????money=13;
??????else
????????money=13+2.3*(distance-3);
????else
??????if(distance<=3)
????????money=14;
??????else
????????money=14+2.3*1.2*(distance-3);
???return?money;
}
int?main()
{
????int?distances=12,?time1=9,time2=18;
????double?a,b;//a,b應該定義為double類型
????a=f(time1,distances);
????printf("上班的車費是:%.3lf\n",a);//輸出數據,你原來輸出的是地址
????b=f(time2,distances);
????printf("下班的車費是:%.3lf\n",b);
????return?0;
}- 2 回答
- 0 關注
- 1772 瀏覽
添加回答
舉報
0/150
提交
取消
