為什么運行結果小數末位是.00001?
#include?<stdio.h> extern?float?getFee(float?Num,?float?Clk) { float?Fee=0; if?((Clk?>=?23?&&?Clk?<=?24)?||?(Clk?<=?5?&&?Clk?>=?0)) { if?(Num>3) { Fee?=?13?+?2.3*1.2*(Num?-?3)?+?1; return?Fee; } else return?13?+?1; } else { if?(Num>3) { Fee?=?13?+?2.3*(Num?-?3)?+?1; return?Fee; } else return?13?+?1; } } int?main() { printf("小明早上打車花費%f元\n",?getFee(12,?9)); printf("小明晚上打車花費%f元\n",?getFee(12,?18)); printf("小明每天打車費用為%f元\n",?getFee(12,?9)?+?getFee(12,?18)); return?0; }
2017-09-14
printf的格式控制的完整格式:?
%?-?0?m.n?l或h?格式字符 ?
下面對組成格式說明的各項加以說明:
①%:表示格式說明的起始符號,不可缺少。?
②-:有-表示左對齊輸出,如省略表示右對齊輸出。?
③0:有0表示指定空位填0,如省略表示指定空位不填。?
④m.n:m指域寬,即對應的輸出項在輸出設備上所占的字符數。N指精度。用于說明輸出的實型數的小數位數。未指定n時,隱含的精度為n=6位。?
⑤l或h:l對整型指long型,對實型指double型。h用于將整型的格式字符修正為short型。
?
格式字符 ?
格式字符用以指定輸出項的數據類型和輸出格式。?
①d格式:用來輸出十進制整數。有以下幾種用法:?
%d:按整型數據的實際長度輸出。?
%md:m為指定的輸出字段的寬度。如果數據的位數小于m,則左端補以空格,若大于m,則按實際位數輸出。?
%ld:輸出長整型數據。?
②o格式:以無符號八進制形式輸出整數。對長整型可以用"%lo"格式輸出。同樣也可以指定字段寬度用“%mo”格式輸出。?
float格式同理
2017-09-14
float類型小數點后面6位小數,所以會是0.000001;這里輸出應該定義為%.1f