• ベストアンサー

C言語で円周率を求めるプログラムを作りたいのですがわかりません。

C言語で円周率を求めるプログラムを作りたいのですがわかりません。 どなたか教えていただけないでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.2

C言語と円周率をキーワードにして検索をかけると、参考になるサイトが検索できますよ。 以下のURLを参照してください。具体的な、コーディングの例ものっています。 http://www1.cts.ne.jp/~clab/hsample/Math/Math1.html http://www.geocities.jp/kaname78web/pi.html http://www.ss.cs.meiji.ac.jp/CCP051.html

kittymimmy
質問者

お礼

ありがとうございます。 参考にさせていただきます。

その他の回答 (4)

  • salsberry
  • ベストアンサー率69% (495/711)
回答No.5

念のために書いておきますが、ANo.3で挙げたプログラム例は真に受けないでください。 学校の課題とかだったら、多分怒られます。

kittymimmy
質問者

お礼

大丈夫です。 わざわざありがとうございました。

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.4

>小数点以下6桁で表示されました。 >これはどうしてなのか教えていただけませんか? printf()の書式"%f"で、精度の記述を省略しているからです。 時間があれば、printf()の書式指定文字列について 調べてみてください。

kittymimmy
質問者

お礼

ありがとうございいます。 理解できました。

  • salsberry
  • ベストアンサー率69% (495/711)
回答No.3

小数点以下何桁まで求めたいのでしょうか? どんなアルゴリズムを使うにせよ、C言語のdouble型で表せる範囲に収まるかどうかで面倒くささが大きく異なります。 【円周率を求めるプログラム例】 #include <stdio.h> #include <math.h> int main() { double p=asin(1.0)*2.0; /* sin(π/2)=1 */ printf("%f\n", p); }

kittymimmy
質問者

お礼

ありがとうございます。 特に小数点以下何桁までとは決まっていないのですが、 salsberryさんのプログラムを実行してみたところ 小数点以下6桁で表示されました。 これはどうしてなのか教えていただけませんか? 初歩的な質問でごめんなさい。

  • larrymiz
  • ベストアンサー率26% (237/878)
回答No.1

円周率を求めるアルゴリズム自体が、問題ですから、C言語で、記述できる円周率を求めるプログラム自体が無数にあります。円周率πの話の本を、まず始めに勝ってください。モンテカルロ法など乱数を使って求めるものなど最初に乱数発生プログラムを作る問題から解くなどという方法もあります。円周率の歴史書があるぐらいで、一朝一夕で片付くようなプログラム制作ではありません。検索してもC言語での回答はないと思います。まずは、円周率を知ることです。

kittymimmy
質問者

お礼

返答ありがとうございました。 円周率についてもう少し調べてみることにします。

関連するQ&A