有一雙精度值d=1.23456789,從鍵盤輸入輸出值要求的寬度和小數位數(0<寬度和小叔位數<=10),要求按該輸出格式要求輸出d。
如:輸入:8(輸出值要求的寬度) 4(小數位數),要求輸出: 1.2346(數值前面有2個空格)。
#include <stdio.h>
int main() {
int width, precision;
double d = 1.23456789;
// 從鍵盤輸入要求的寬度和小數位數
scanf("%d %d", &width, &precision);
// 輸出格式化的值,注意要加上適當的寬度和小數位數
printf("%*.*f\n", width, precision, d);
return 0;
}
程式碼說明:
輸入:
程式使用 scanf 從鍵盤讀取兩個整數:width(輸出值的寬度)和 precision(小數位數)。
格式化輸出:
使用 printf 函式的格式符 %.f:
第一個 * 表示寬度,由變數 width 提供。
第二個 * 表示小數位數,由變數 precision 提供。
f 表示以浮點數格式輸出。
輸出效果:
當使用者輸入 8 和 4 時,程式將輸出 1.2346(前面有兩個空格,總寬度為8,小數位數為4)。
注意事項:
確保輸入的寬度和小數位數均在規定範圍內(0 < 寬度和小數位數 <= 10),否則可能導致未定義行為或格式錯誤。您可以新增輸入驗證來保證這一點。