添付写真の計算をして表示するプログラムを完成させ、0未満の数を入力したとき, 「入力エラー」と表示し再度入力を促すようにしたいです。かいたコードはうまくいきません。値を入力して終わってしまいます
数列
Re: 数列
提示されたコードは } が足りないため、そもそもコンパイルエラーになって値の入力すらできないはずです。
また、もし実行できたとしても、 は整数のゼロ除算なので強制終了の原因になりますね。
また、もし実行できたとしても、 は整数のゼロ除算なので強制終了の原因になりますね。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: 数列
#include <stdio.h>
int getIteration(void)
{
int n;
do {
printf("0以上の整数を入力> ");
scanf("%d", &n);
if (n >= 0) break;
printf("入力エラー\n");
} while (n < 0);
return n;
}
double calcPI_4(int n)
{
double sum, x;
int i;
for (sum = i = 0; i <= n; i++) {
x = 2 * i + 1;
if (i % 2 != 0) x = -x;
sum += 1 / x;
}
return sum;
}
void printAnswer(double s)
{
printf("%f\n", s);
}
int main(void)
{
printAnswer(calcPI_4(getIteration()));
return 0;
}
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。