円周率Sを
S=4*Σ(-1)^n/(2n+1){(1/2)^(2n+1)+(1/3)^(2n+1)}
但しnは1から100まで
をつかって求めるプログラムをwhile文とif文をつかって作る
というのが目的で、
#include<stdio.h>
int main(void){
int n=0;
double a=0.5,b=0.3333333333333,S=a+b;
while(n<100){
{ if(n %2==0){ /*n is even*/
n=n+1;
a=a*1/4;
b=b*1/9;
S=S-1/(2*n+1)*(a+b);}
else{ /*n is odd*/
n=n+1;
a=a*1/4;
b=b*1/9;
S=S+1/(2*n+1)*(a+b);}
}
}S=4*S;
printf("%f",S);
return 0;
}
こう組んでみたのですが、どうもwhile文が無視されてしまうらしく
3.333333と表示されてしまいます。なぜ上手いこといかないのでしょうか?
問題点のご指摘をお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
× S=S-1/(2*n+1)*(a+b);
○ S=S-1./(2*n+1)*(a+b);
1/(2*n+1)と書くと整数演算が行われ結果が0になる。
1./(2*n+1)と書けば実数演算が行われ結果が0.…になります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# プログラムの時、フローチャートはどうなりますか?図でお願いします。 int main(void) { 1 2022/10/01 22:45
- C言語・C++・C# C言語階乗の総和を求める 2 2023/03/04 23:31
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# C言語 3 2022/11/09 13:27
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語プログラムが理解できなくて…
-
#if 1 #elseの意味について
-
配列を使って魔方陣
-
for文の中にswitch文はいれられ...
-
構文エラー";"が型の前にあり...
-
中央値をもとめる
-
c言語のプログラムで
-
初心者です。for文、if文を使っ...
-
C言語初心者です。次の問題で質...
-
xのy乗を求める問題で…(ただし...
-
c言語for文
-
getcの改行判定
-
while文を使った問題なのですが...
-
C言語で勉強中(max,min)の出し方
-
プログラミングで二番目に大き...
-
配列を関数に渡す方法
-
c言語のwhile文を使った計算で...
-
scanf関数を用いての加減乗除%...
-
C言語です
-
c言語プログラミングで1から100...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
構文エラー";"が型の前にあり...
-
#if 1 #elseの意味について
-
for文の中にswitch文はいれられ...
-
C言語階乗の総和を求める
-
配列を使って魔方陣
-
C言語 数字以外を入力させない...
-
C言語プログラムが理解できなくて…
-
配列を関数に渡す方法
-
初心者です。for文、if文を使っ...
-
scanf関数を用いての加減乗除%...
-
c言語プログラミングで1から100...
-
while文について、c言語...
-
getcの改行判定
-
プログラミングで二番目に大き...
-
VHDLで、case文とwhen文のどち...
-
C言語で電卓を作成する。
-
C言語の二分法のプログラムにつ...
-
プログラミングに関して
-
階乗のプログラム!!
-
C言語についてですfor ifをつか...
おすすめ情報