以下のコードで正解が得られません。誰かがこのコードをデバッグできますか?半径= 5を入力すると、得られる答えは500.000000ですが、元の答えは523.80952になります。誰かがここで何が悪いのか説明できますか?
球の体積式= 4/3(πxr^ 3)
#include <stdio.h>
int main()
{
float radius = 0;
float volume;
float pie = 0;
printf("Enter radius");
scanf("%f", &radius);
pie = 22 / 7;
volume = (4*pie*radius*radius*radius)/3;
printf("the volume is %f", volume);
return 0;
}
pie = 3.14 ;
代わりに書くこともできますpie = 22 / 7 ;
また、次の点に注意してください。(a)2つの整数間の算術演算は、常に整数を返します。(b)2つの実数間の算術演算は、常に実数を返します。(c)整数と実数の間の算術演算は実数を返します。
したがって、pie = 22 / 7
523.80952ではなく500.000000を返します。したがって、pie = 22.0 / 7
またはpie = 22 / 7.0
またはを書くこともできますpie = 22.0 / 7.0
。これらの3つは元の答えを返します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加