2

次のことを行うプログラムをCで作成する必要があります。

ユーザーが浮動小数点数を入力すると、小数点以下3桁に四捨五入されるようにプログラムを作成します。結果を表示するときは、小数点以下5桁を表示します。これは、小数点以下4桁と5桁の数値が両方とも0になることを意味します。

小数点以下第3位に四捨五入して、2つのゼロを表示するにはどうすればよいですか?数学ライブラリ関数を使用することは許可されていません。

4

3 に答える 3

2
printf("%.5f\n",(int)(number*1000+0.5)/1000.0);
于 2013-01-31T05:07:18.283 に答える
2

さて、「数学なし」の方法:D

printf("%.3f00\n", n);

(通常、Round-to-Nearest-Evenの対象です。R..のコメントを参照してください。)

于 2013-01-31T05:11:15.500 に答える
0

タスクには2つのステップがあります。

1)数値を小数点以下3桁に四捨五入します。

double n = 0.123456;
n = ((int) (n * 1000.0)) / 1000.0; // => 0.123

2)小数点以下5桁までの数値を表示します。

printf("%.5f\n", n); // => 0.12300
于 2013-01-31T05:09:03.007 に答える