請(qǐng)問這代碼是否正確
#include?<stdio.h> double?money double?price(mile,time) { ????if(mile<=3) ????{ ????????money=13; ????????printf("起步價(jià)%d元",?money); ????}???? ????else?(time>=23&&time<5&&mile>3) ????{ ????????money=14+2.3*(mile-3)*1.2; ????????printf("總費(fèi)用為%f元",?money); ????} ???? } int?main() { ????price=price(mile=12,time=9)+price(mile=12,time=18); ????printf("小明每天打車的總費(fèi)用為%f元",price); ????return?0; }
2017-01-30
同學(xué)你的代碼有如下的幾處錯(cuò)誤需要修改:?
1、第2行:money變量的定義需要在price()函數(shù)內(nèi)
2、第3行price()函數(shù)的返回值類型是double,那么在函數(shù)中要有return語句?
3、第3行中mile和time形式參數(shù)需要有參數(shù)類型,為int?
4、第10行中是else語句,也就是對(duì)于mile>3的情況說明的,后面的&&mile>3不需要再寫;并且這種寫法也是錯(cuò)誤的,需要在else語句中嵌套if-else語句來對(duì)time進(jìn)行判斷,否則按照你寫的情況來說的話沒有考慮在白天打車距離超過3公里的情況?
5、在第8行中,題目總說每次乘車加收1元錢的燃油附加稅,那么這里的13也是需要再+1的?
6、在第20行,傳入?yún)?shù)的時(shí)候不再需要寫mile和time,按順序傳入需要的參數(shù)即可mile=12進(jìn)行的是賦值操作
7、在第20行,price自變量在使用之前未定義,應(yīng)該先定義double price;并且自變量的定義和函數(shù)名稱的定義重復(fù)了,在編譯時(shí)是無法通過的
8、在第21行中可以對(duì)占位符的float設(shè)置其輸出的小數(shù)點(diǎn)位數(shù)%.2f?
2017-01-30
如上代碼修改之后可正確輸出69.40