質問
c言語の数値計算に関する質問です。
下記のソースコードで一番上だと正しい結果が表示され、下2つだと違う結果が表示されます。なぜ下2つだとうまくいかないのか解説お願いします。
(X=1 fun2(x)=0.03846160)
該当のソースコード
c
1double func2(double x){ 2 return pow(x,4)*1.201923-pow(x,2)*1.730769+0.567308; 3} 4int main(void){ 5 double x0; 6 scanf("%lf",&x0); 7 printf("%.8lf\n",func2(x0)); 8 return 0; 9}
c
1double func2(double x){ 2 double a,b,c; 3 a=125/104; 4 b=45/26; 5 a=59/104; 6 return pow(x,4)*a-pow(x,2)*b+c; 7} 8int main(void){ 9 double x0; 10 scanf("%lf",&x0); 11 printf("%.8lf\n",func2(x0)); 12 return 0; 13}
c
1double func2(double x){ 2 double a,b,c; 3 a=1.201923; 4 b=1.730769; 5 a=0.567308; 6 return pow(x,4)*a-pow(x,2)*b+c; 7} 8int main(void){ 9 double x0; 10 scanf("%lf",&x0); 11 printf("%.8lf\n",func2(x0)); 12 return 0; 13}
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。