for(int i=1; i<=10; i++){

C言語関連34閲覧

ベストアンサー

0

ThanksImg質問者からのお礼コメント

大変助かりました!!! 無事、値が近似値となりました!!! 整数÷整数は0となってしまうのですね! 大変勉強になりました! また、直し方も教えてくださりありがとうございました! 皆様ありがとうございます!

お礼日時:4/21 8:09

その他の回答(2件)

0

#include <stdio.h> #include <math.h> int main(void){ ____int i; ____double a = 0.0; ____for(i=1; i<=10; i++){ ________a=a+sqrt(3)*pow(3,i)/(2*i+1); ________ printf("i=%2d\tpow(3,i)=%6.lf\t2*i+1=%2d\ta=%lf\n",i,pow(3,i),2*i+1,a); ____} } 実行結果 i= 1 :pow(3,i)= 3 :2*i+1= 3 :a=1.732051 i= 2 :pow(3,i)= 9 :2*i+1= 5 :a=4.849742 i= 3 :pow(3,i)= 27 :2*i+1= 7 :a=11.530510 i= 4 :pow(3,i)= 81 :2*i+1= 9 :a=27.118967 i= 5 :pow(3,i)= 243 :2*i+1=11 :a=65.381544 i= 6 :pow(3,i)= 729 :2*i+1=13 :a=162.509624 i= 7 :pow(3,i)= 2187 :2*i+1=15 :a=415.042632 i= 8 :pow(3,i)= 6561 :2*i+1=17 :a=1083.512358 i= 9 :pow(3,i)= 19683 :2*i+1=19 :a=2877.825834 i=10 :pow(3,i)= 59049 :2*i+1=21 :a=7748.105269 ですが…?

0

1. そのコードでは i の部分が0のままになることはありません。 結果が sqrt(3) になるというのは、for文を抜けたあと、a の値が 1.7320508前後の値になっているということでしょうか。 そうであれば、別の要因が考えられますが、そのコードだけでは分からないので、コード全体が必要です。 2. 何言語ですか?C or C++

この返信は削除されました