大佬們幫我看看吧,
#include <stdio.h>
float money(int sj,int juli)
{
? ? float qian=0;
? ? float danjia=2.3;
? ? int qibu=14;
? ? if(!(sj>=5&&sj<23))
? ? {
? ? ? ? danjia*=1.2;
? ? }
? ? if(juli>3)
? ? {
? ? ? ? qian=qibu+(juli-3)*danjia;
? ? }
? ? else
? ? {
? ? ? ? qian=qibu;
? ? }
? ? return qian;
}
int main()
{
? ? printf("小明坐車的總費(fèi)用為%.1f\n",money(9,12)+money(18,12));
? ? return 0;
}
我這個是對的,輸出結(jié)果是69.40,但我想問一下最后的把“%.1f“換成“%d“輸出的結(jié)果是12了,為什么不是69整數(shù)呢,我還以為會被小數(shù)消了而已。
2018-08-07
因為你要輸出的類型和你的變量的類型不符合啊,所以輸出的值肯定不對,如果你用強(qiáng)制性轉(zhuǎn)換類型就沒問題了;
比如你用%d輸出,printf的那個語句改為"printf("小明坐車的總費(fèi)用為%d\n",(int)(money(9,12)+money(18,12)));"就好了