帮忙解决一道初级编程题~π 的值可以用以下公式近似求得:令a = 1,3,5,7,……,b=1或 -1,c = b / a表示括号中的每一项.编写程序,计算 π 的近似值(忽略掉c的绝对值小于10-6的所有项),并累计此时
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/18 07:57:53
![帮忙解决一道初级编程题~π 的值可以用以下公式近似求得:令a = 1,3,5,7,……,b=1或 -1,c = b / a表示括号中的每一项.编写程序,计算 π 的近似值(忽略掉c的绝对值小于10-6的所有项),并累计此时](/uploads/image/z/13336991-71-1.jpg?t=%E5%B8%AE%E5%BF%99%E8%A7%A3%E5%86%B3%E4%B8%80%E9%81%93%E5%88%9D%E7%BA%A7%E7%BC%96%E7%A8%8B%E9%A2%98%7E%CF%80+%E7%9A%84%E5%80%BC%E5%8F%AF%E4%BB%A5%E7%94%A8%E4%BB%A5%E4%B8%8B%E5%85%AC%E5%BC%8F%E8%BF%91%E4%BC%BC%E6%B1%82%E5%BE%97%EF%BC%9A%E4%BB%A4a+%3D+1%2C3%2C5%2C7%2C%E2%80%A6%E2%80%A6%2Cb%3D1%E6%88%96+-1%2Cc+%3D+b+%2F+a%E8%A1%A8%E7%A4%BA%E6%8B%AC%E5%8F%B7%E4%B8%AD%E7%9A%84%E6%AF%8F%E4%B8%80%E9%A1%B9.%E7%BC%96%E5%86%99%E7%A8%8B%E5%BA%8F%2C%E8%AE%A1%E7%AE%97+%CF%80+%E7%9A%84%E8%BF%91%E4%BC%BC%E5%80%BC%EF%BC%88%E5%BF%BD%E7%95%A5%E6%8E%89c%E7%9A%84%E7%BB%9D%E5%AF%B9%E5%80%BC%E5%B0%8F%E4%BA%8E10-6%E7%9A%84%E6%89%80%E6%9C%89%E9%A1%B9%EF%BC%89%2C%E5%B9%B6%E7%B4%AF%E8%AE%A1%E6%AD%A4%E6%97%B6)
帮忙解决一道初级编程题~π 的值可以用以下公式近似求得:令a = 1,3,5,7,……,b=1或 -1,c = b / a表示括号中的每一项.编写程序,计算 π 的近似值(忽略掉c的绝对值小于10-6的所有项),并累计此时
帮忙解决一道初级编程题~
π 的值可以用以下公式近似求得:
令a = 1,3,5,7,……,b=1或 -1,c = b / a表示括号中的每一项.
编写程序,计算 π 的近似值(忽略掉c的绝对值小于10-6的所有项),并累计此时括号中参与运算的总项数,输出这两个结果.
我的程序如下:
#include
#include
int main()
{
int n;
double a,b,c,f,PI=0;
for(n=1;;n++)
{
a=2*n-1;
if(n/2==0) b=-1;
else b=1;
c=b/a;
PI=4*PI+4*c;
f=fabs(c);
if(f
帮忙解决一道初级编程题~π 的值可以用以下公式近似求得:令a = 1,3,5,7,……,b=1或 -1,c = b / a表示括号中的每一项.编写程序,计算 π 的近似值(忽略掉c的绝对值小于10-6的所有项),并累计此时
两处修改建议,
第一,if (n/2 == 0),应该修改成if (n % 2 == 1),判断奇偶应该用是否可以被2整除而不是除以2.
第二,PI 的累积求和不应该是PI=4*PI+4*c;
在定义PI的时候应该先赋给初值4.0,
然后PI=4*PI+4*c的这句修改成
PI += c;即可做到累计求和了.
这句修改也是配合if (n%2)来的,如果按n%2 == 0来处理,就应该PI -= c;
如果按照n%2 == 1来处理,就是PI += c;