こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

C言語で・・

実数データを入力し、小数点以下四捨五入したときの値を表示せよ。

自分では、以下のように作りました。
#include<stdio.h>
int main(void)
{
float f_a,s;
int i_a;

printf("実数データを入力してください");
scanf("%f",&f_a);

i_a=(int)f_a;
s=f_a-i_a;

if(s>=0.5){
i_a=i_a+1;
}

printf("%fを四捨五入すると%dです",f_a,i_a);

return 0;
}

他の作りかたがあれば、教えていただきたいのですが。IF文などの範囲でお願いします。

投稿日時 - 2003-12-19 17:01:27

QNo.734000

暇なときに回答ください

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

型変換が解っているのであれば、if文を利用しなくても作成できますよ。

f_aに0.5を足した後に型変換をすればよいのです。
例えば…
f_aが1.4→1.4+0.5=1.9
したがって、(int)f_a→1
f_aが1.5→1.5+0.5=2.0
したがって、(int)f_a→2
と四捨五入になります。

プログラムは…解りますよね(^^;;;

投稿日時 - 2003-12-19 17:07:32