公式是2*(2^2/1*3)*......*(2n)^2/(2n+1)(2n-1)
#include<stdio.h>
main()
{
int n=1,t=2; float a=1;
while(t-(4*n*n)/(4*n*n-1))>=1e-6)
{ a=a*t;
t=(4*n*n)/(4*n*n-1);
n++; }
printf("%f ",a);
}
这是我的程序,在进去循环体一次后就退出了,求指点
算法错误。程序思路非常混乱。n++只一次,并没有循环,那么一开始计算x0时n=1,以后每次计算x0的值时n都等于2。而计算公式是要对n进行累加循环的。
C语言怎么求π近似值?
C代码和运行结果如下:可见在给定精度下,输出π的近似值为3.141393,望采纳~附源码:include <stdio.h> define E 1e-4 int main() { double pi = 0;int i, sign = 1; \/\/ sign表示正负号 for (i = 1; 1.0 \/ i >= E; i += 2) { pi += sign * 1.0 \/ i;sign = -si...
C语言编程有公式 可以计算π的近似值。求前后两次迭代结果π 之差的...
int n = 1;double pi = 2.0 * 2 * 2\/3; \/\/ n=1时pi的初值 double e; \/\/ 精度 scanf("%lf", &e);while (1) { ++n;int m = 2 * n;double pn = pi * m \/ (m - 1) * m \/ (m + 1);if (pn - pi < e) { pi = pn;break;} pi = pn;} printf("n=%d...
c语言面试题-求π的近似值
编写一个C程序,用来求出π的近似值。题目分析:求π的方法很多,这里两种最为常用的求π的方法。方法:利用“正多边形逼近”法求π。“正多边形逼近” 法求π的核心思想是极限的思想。假设一个直径d为1的圆,只要求出该圆的周长C,就可以通过π=C\/d的方法求出π的值。所以关键是求出该圆的周长...
C语言程序设计,计算π的近似值
算法错误。程序思路非常混乱。n++只一次,并没有循环,那么一开始计算x0时n=1,以后每次计算x0的值时n都等于2。而计算公式是要对n进行累加循环的。include <stdio.h>void main(){double i,k=1;for(i=1;k*(i*2*i*2\/((i*2-1)*(i*2+1))-1)>=1e-6;i++)k*=i*2*i*2\/((i...
用C语言求π的近似值
循环体里面的公式有点问题,我重新写了一下,代码如下:void main(){ double i, pi;i=1.0,pi=0.0;while (fabs(1.0\/i) >= 1e-6){ pi=(pi + pow(-1.0,i+1)\/(2*i-1));i++;} printf("pi=%f\\n",pi* 4);system("pause");} 注意输出的结果是pi*4,望采纳!
C语言编程计算出π的值 最好有三种方法!! 急求 好人一生平安啊_百度知 ...
我只说说π是怎么近似计算出来的,大一应该学过高数,可以知道:tan π\/ 4 =1,从而π=4*arctan1,应用泰勒公式将arctan(x)展开,就可以得到 代入x=1得 把这展开式展开,直到最后一项的绝对值小于1e-6为止。下面是C语言递归实现:include<stdio.h> include<math.h> void main(){ float fuc(...
用C语言编个程序,求π(派)
利用“正多边形逼近”的方法求出π的近似值 程序说明与注释 include<stdio.h> include<math.h> int main(){ double e=0.1,b=0.5,c,d;long int i; \/*i: 正多边形边数*\/ for(i=6;;i*=2) \/*正多边形边数加倍*\/ { d=1.0-sqrt(1.0-b*b); \/*计算圆内接正多边形的边长*\/ b=...
C语言程序设计,计算π的近似值
0;while((t-(4.0*n*n)\/(4.0*n*n-1.0))>=1e-6){ a=a*t;t=(4.0*n*n)\/(4.0*n*n-1.0);n++; } printf("%f ",a);} 结果为3.131604 算是接近π吧,偏差的原因,我估计是float精确到小数后六位,上面的多次循环,导致最后偏差有点大,我是这样想的!求大家指正!
c语言编程,求π的近似值
include <stdio.h> include <math.h> int main(){ int x,z;float y;y=0;z=0;for(x=1;fabs(1.0\/x)>1e-6;x+=2){ z=z+1;if(z%2!=0){ y=y+1.0\/x;} else { y=y-1.0\/x;} } y=y*4;printf("π=%10.6f\\n",y);return 0;} ...
c语言 计算π的近似值
include <stdio.h> include <stdlib.h> int main(){ float sum=0.0;float i=1,d=1;while(1\/i>=1e-6){ sum=sum+d\/i;d=d*(-1);i=i+2;} sum=sum*4;printf("%10.8f\\n",sum);system("pause");return 0;} 输出结果为:3.14159369 ...