資料下載的demo里最后判斷總數(shù)是不是有問題
#include?<stdio.h> double?getTaxiPrice(int?hours,int?distance) { double?totalPrice?=?0.0; //定義打車費用? double?perPrice?=?2.3; //定義每公里單價計費? int?startPrice?=?13; //定義起步價? if(hours<0?||?hours>24){ printf("請?zhí)顚懻_的時間\n"); return?0; } else?if(!(hours>=5?&&?hours<23)) //判斷打車時間是否要增加費用 { perPrice?*=?1.2; //費用增加20%????????????????????????? } if(distance?>3) //判斷公里數(shù) { totalPrice?=?startPrice?+(distance?-?3)*perPrice; //計算價錢 } else { totalPrice?=?startPrice;???? } totalPrice++; //加一塊錢的燃油費 return?totalPrice; } int?main() { int?moring?=?9; //定義上午打車時間 int?afternoon?=?18; //定義下午打車時間 int?distance?=?12; //定義打車公里數(shù) double?totalPrice?=?0; //定義總費用 if(getTaxiPrice(moring,distance)?!=?0) printf("小明每天打車的總費用是:%.2f\n",totalPrice); //輸出 return?0;???? }
在最后的
if(getTaxiPrice(moring,distance)?!=?0) { totalPrice?=?getTaxiPrice(moring,distance); //調(diào)用計算費用的函數(shù) }? else { totalPrice?+=?getTaxiPrice(afternoon,distance); //調(diào)用計算費用的函數(shù) }
這里,先使用if判斷早晨出門打車的?錢是否不等于,經(jīng)過判斷是不等于零,于是執(zhí)行
totalPrice?=?getTaxiPrice(moring,distance);
然后后面的
else?if(totalPrice?!=?0)
這一句按理說就不會執(zhí)行了吧,因為之前的if語句已經(jīng)判斷為真?了。這樣下來就只判斷了if中早晨出門的錢,而沒有判斷晚上回家的錢。所以我認為應(yīng)該吧else?if換成if。也就是將demo中換為兩個獨立的if條件句
求大神看一下我的理解對么?
2018-07-31
2018-07-30
你的代碼主要有以下的一些問題:1.主函數(shù)中并沒有調(diào)用你自己寫的函數(shù),2.明明一個簡單的數(shù)學題為什么寫這么多的代碼?
2018-07-30
我運行了一下發(fā)現(xiàn)你的代碼結(jié)果輸出為0...