c- 利用公式求π的近似值,直到最后一项的绝对值小于1E-6为止。

问题描述

利用公式求π的近似值,直到最后一项的绝对值小于1E-6为止。

#include
#include
int main()
{
double a,b,c,d,e,f,pi,sum;
a=0;
b=1;
f=0;
sum=0;
while(b<500000)
{
a=2a+1;
b=2b+1;
c=1/a;
d=1/b;
f=c-d;
sum=sum+f;
a++;
b++;
}
pi=4/sum;
printf("pi=%.8f",pi);
return 0;
} 怎么有错误?

解决方案

http://zuoye.baidu.com/question/e5174e65ddb260d13fc6e00f2e01ecd3.html
http://wenku.baidu.com/link?url=QGVYNOvgtJ6up2fpe5zkioDlulEHla5q6ZPbQ2ykdVhljFaMKFErYF9WSpj4f_BfUTcxVYCjWDzf2wRikWFya-EbzKglq6zEpEtAIausF8W

解决方案二:


#include <stdio.h>
int main()
{
    double a, b, c, d, e, f, pi, sum;
    a = 1;
    b = 3;
    f = 0;
    sum = 0;
    while (b < 50000000)/*每次循环做一个1/(2*n-1)-1/(2*n+1),但是公式里的2n-1并不一定表现在程序里的2n-1*/
    {
        c = 1 / a;
        d = 1 / b;
        f = c - d;
        sum = sum + f;
        a += 4;
        b += 4;
    }
    pi = sum * 4;/*你的公式都错了。是pi/4=1-1/3+1/5-1/7...*/
    printf("pi=%.8f", pi);
    getchar();
    return 0;
}

解决方案三:

#include
int main()
{
double a, pi,sum = 0;
int sign = 1;
int i = 0;
//利用公式 pi = 4 * (1 - 1/3 + 1/5 -......................)求解
while (i < 50000000)
{
a = sign * 1.0 / (2 * i + 1);
sum = sum + a;
sign = -sign;
i++;
}
pi = sum * 4;
printf("pi=%.8f", pi);
getchar();
return 0;
}

这道编程题目很经典,利用了迭代的思想,迭代就是不断用变量的旧值递推新值的过程,分为精确迭代和近似迭代,顺便给你发个链接,挺有意思的,希望对你有所帮助。

时间: 2024-07-28 19:55:42

c- 利用公式求π的近似值,直到最后一项的绝对值小于1E-6为止。的相关文章

求解答-初学者,计算1-1/3+1/5-1/7+...直到最后一项的绝对值小于10的-16次方2

问题描述 初学者,计算1-1/3+1/5-1/7+...直到最后一项的绝对值小于10的-16次方2 #include void main() { int n=1; float x=1,t=1,s=0; while(t>=1e-6) { t=1.0/(2*n-1); s=s+x*t; x=(-1)*x; n=n+1; } printf("1-1/3+1/5-1/7+...=%fn",s); getch(); return 0; } 为什么是t>=1e-6.而不是t<1e

excel中如何利用公式做求和算法?

  excel中如何利用公式做求和算法?          步骤 1.隔列求和 H3=SUMIF($A$2:$G$2,H$2,A3:G3); 2.单条件求和 F2=SUMIF(A:A,E2,C:C) 3.单条件模糊求和 公式: SUMIF(A2:A4,"*A*",C2:C4) 4.多条件模糊求和 公式:C11=SUMIFS(C2:C7,A2:A7,A11&"*",B2:B7,B11); 5.多表相同位置求和 公式:b2=SUM(Sheet1:Sheet19!

WPS文字中如何利用公式编辑器制作图形标注

一般在制作标注时,我们往往会用文本框加文字来实现,但是文本框的边框样式及内部边距都需要设置,操作起来非常繁琐.不仅如此,而且占据的空间也非常大,往往几个文本框叠加在一起,不易分辨.其实我们可以使用WPS公式编辑器设置图形标注. WPS文字中利用公式编辑器制作标注 ①首先画图,将图形设为文字"环绕"型; ②启动公式编辑器,输入标注文字; ③退出编辑器,如图 ④WPS认为此公式文字为"图片",并且默认为"嵌入"型,只需将它改成"环绕&quo

Excel怎么利用公式生成九九乘法表?

  Excel怎么利用公式生成九九乘法表?         建立一个工作表Sheet1(如图1),并在A3~A11单元格依次输入1~9,B2~J2单元格依次输入1~9. 图1 计算结果 "九九乘法表"中的数值结果都是行值乘以列值而得到的,所以Excel单元格中的数值也应为行值乘以列值,如D6的值为A6乘以D2的结果,其公式为:"=A6*D2". 单元格输出格式 因为"九九乘法表"的格式是"4×3=12"的形式(如图2),所以在

蓝桥杯 历届试题 公式求值 (想了很久了,想不明白,才来请教的,麻烦各位了)

问题描述 蓝桥杯 历届试题 公式求值 (想了很久了,想不明白,才来请教的,麻烦各位了) 问题描述 输入n, m, k,输出下面公式的值. 其中C_n^m是组合数,表示在n个人的集合中选出m个人组成一个集合的方案数.组合数的计算公式如下. 输入格式 输入的第一行包含一个整数n:第二行包含一个整数m,第三行包含一个整数k. 输出格式 计算上面公式的值,由于答案非常大,请输出这个值除以999101的余数. 样例输入 3 1 3 样例输出 162 样例输入 20 10 10 样例输出 359316 数据

《C语言及程序设计》实践参考——三角公式求值

返回:贺老师课程教学链接  项目要求 [项目:三角公式求值]写一程序,求y值  (x值由键盘输入).[参考解答] #include <stdio.h> #include <math.h> //需要用到三角函数,包含数学库 int main ( ) { double x, y; //涉及三角函数解决问题,用浮点型数合适 scanf("%lf", &x); if (x>=0) { y=(sin(x)+cos(x))/2; } else { y=(sin

求 值-MATLAB软件编写代码求HURST值,用R/S法和绝对值法。

问题描述 MATLAB软件编写代码求HURST值,用R/S法和绝对值法. 网络流量的自相似特性里估算HURST参数有R/S法,绝对值法,时间方差图法,用MATLAB软件编写代码求H值.

【33】利用归并排序求逆序数对

题目:利用归并排序求解一个数组中的逆序数对 分析: 1. 什么是逆序数对,例如给定数组{7, 5, 6, 4},对于每个数num,如果num之前有多少个数大于num则说明num这个数构成逆序数对有多少个     7有0个,5有1个,6有1个,4有三个,因此数组中总的逆序数对为5. 2. 怎么利用归并排序来求逆序数对呢?    (1)假设数组为{7, 5, 6, 4}    (2)归并排序的递归树如下            (3)求逆序数对是在合并左右两个子序列的时候.在merge函数中,左右子序

巧用WPS中的利用公式打造精美的成绩册

  考试结束后统计学生的成绩并排出各单科名次和总分名次是我们这里班主任必做的功课.在WPS表格中,计算学生总分使用SUM函数,用RANK函数来排名次,这也是每位班主任都知道的.但是,每次考试总有一些特殊情况的学生缺考.如果我们只按实际得分计算总分并排定名次的话,显然会有失公允,而且会导致排名次时出错.只有再经过手工排除特殊情况的学生,才能把成绩册及排名搞清楚.因此,对于这样的成绩册,显然还有优化的必要性. 一.单科缺考学生的学科名次排定 解决缺考学生学科名次的排定问题,需要在排名时做一个判断:如