回覆列表
-
1 # 我是阿嘛
-
2 # 使用者6745035785625
樓上解法怎麼處理123.456-->123.456000
標準做法是這樣的
說明:小數點“.”後面的“*”表示輸出位數,具體的資料來自引數表。
printf格式字串中,與寬度控制和精度控制有關的常量都可以換成變數,方法就是使用一個“*”代替那個常量,然後在後面提供變數給“*”。
例子
#include
int main(){
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
printf("%.*lf\n",c,a*1.0/b);
return 0;
}
可以在輸出時,指定小數點後的有效位數,實現精確到若干位的效果。
要精確到小數點後若干位,則資料型別為浮點型,可能為單精度(float)或雙精度(double)。
在C語言中,使用格式化輸出函式printf來實現輸出。
輸出格式為
%.NF
1 %為格式化字串的引導字元。
2 .N表示指定顯示N位小數。
3 F為型別字元,對於float, F值為f, 對於double,F值為lf。
舉例:
1 要輸出float a=1.23234; 保留3位小數的寫法為:
printf("%.3f",a);
2 輸出double b=123.345232; 保留4為小數,寫法為:
printf("%.4lf",b);