課程
/后端開發
/C
/C語言入門
怎么算都是69.4,為什么結果最后多0.000002
2020-12-18
源自:C語言入門 5-14
正在回答
#include <stdio.h>
float taxifee(int clock,int miles)
{
? ? float money;
? ? if(miles<=3)
? ? {
? ? ? ? money=14;
? ? ? ? printf("費用為14\n");
? ? }
? ? else
? ? ? ? if(clock>=23 || clock<5)
? ? ? ? {
? ? ? ? ? ? money=13+1+2.3*(miles-3)*1.2;
? ? ? ? ? ? printf("夜間車費為:%f\n",money);
? ? ? ? }
? ? ? ? else
? ? ? ? ? ? money=13+1+2.3*(miles-3);
? ? ? ? ? ? printf("日間車費為:%f\n",money);
? ??
? ? return money;? ??
}
int main()
? ? printf("打的總費用:%.1f\n",taxifee(9,12)+taxifee(18,12));
? ? return 0;
你看看我的
慕田峪9069542 提問者
舉報
C語言入門視頻教程,帶你進入編程世界的必修課-C語言
1 回答運算結果應該是69.4,運行結果為什么是77.7?
2 回答為什么會運行失敗,而且結果多0.000002?
5 回答結果為什么是68而不是69.4?
2 回答為什么最后的計算結果是2?。?/p>
5 回答為什么最后結果是+50
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2021-01-07
因為浮點數不能精確表示,有誤差很正常的
2020-12-19
#include <stdio.h>
float taxifee(int clock,int miles)
{
? ? float money;
? ? if(miles<=3)
? ? {
? ? ? ? money=14;
? ? ? ? printf("費用為14\n");
? ? }
? ? else
? ? {
? ? ? ? if(clock>=23 || clock<5)
? ? ? ? {
? ? ? ? ? ? money=13+1+2.3*(miles-3)*1.2;
? ? ? ? ? ? printf("夜間車費為:%f\n",money);
? ? ? ? }
? ? ? ? else
? ? ? ? {
? ? ? ? ? ? money=13+1+2.3*(miles-3);
? ? ? ? ? ? printf("日間車費為:%f\n",money);
? ? ? ? }
? ? }
? ??
? ? return money;? ??
}
int main()
{
? ? printf("打的總費用:%.1f\n",taxifee(9,12)+taxifee(18,12));
? ? return 0;
}
你看看我的