【发布时间】:2015-12-30 06:08:59
【问题描述】:
我还有一个作业问题。这次我知道我的大致情况,但我可以看到我的代码有一些明显的问题。最近我把钥匙弄丢了,有点像这样。我不知道我的代码到底哪里出错了,但我有一个好主意,我希望你能帮我找到它。
问题是使用泰勒级数来近似 pi。 现在,我的问题不完全是让它近似以使其等于 pi。而是使用用户输入的前 N 个项 来近似 pi。例如,如果我输入 2,那么我应该遍历前 2 个,因为 N=2。我的问题是 printF 表示它的方式(并且变量似乎未初始化)。这是我的代码:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
//program to calculate series of numbers equal to pi/4
//declare variables
int num_Terms;
int sign= 1;
int n;
float sum= 0.0;
float next_Term;
float final_sum;
//prompt user for input
printf("Enter a value for integer n: ");
scanf("%i",&n);
//perform calculations
for(n = 1; n<= num_Terms; n=n+1) {
sum= sum+next_Term;
next_Term = sign*(1.0/(2*n-1));
sign = sign*-1;
}
final_sum = sum*4;
//display result
printf("\n 4 * %f = %f\n",sum, final_sum);
return 0;
}
【问题讨论】:
-
scanf("%i",&num_Terms);sign = -sign; -
不要粗鲁,但这会产生更多问题。对不起。
-
我同意负号。
-
它将之前未初始化的警告变成错误。
标签: c user-input pi taylor-series