重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#include stdio.h
10多年的江陵网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整江陵建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“江陵网站设计”,“江陵网站推广”以来,每个客户项目都认真落实执行。
#include stdlib.h
void main()
{
int i=1,n=1;
int n1=0,n2=0,n3=0;
float x=0;
do{
x+=4.0*n/(2*i-1);
i++;
n=-n;
if (long int(x*1000000)==3140000n1==0)
{ n1++;
printf("%d ",i);
printf("pi=%.2f\n",x);
}
else if (int(x*1000000)==3141000n2==0)
{
n2++;
printf("%d ",i);
printf("pi=%.3f\n",x);continue;
}
else if (int(x*1000000)==3141500n3==0)
{
n3++;
printf("%d ",i);
printf("pi=%.4f\n",x);continue;
}
else if (int(x*1000000)==3141590)
{
printf("%d ",i);
printf("pi=%.5f\n",x);break;
}
}while (i1000000);
}
double fact(int n)
{
int i;
double ret=1.0;
for(i=1;i =n; i++)
ret *= i;
return ret;
}
double multi(int n)
{
int i;
double ret=1.0;
for(i=1;i =2*n+1; i+=2)
ret *= i;
return ret;
}
函数里,i 没有赋初值。
去掉 函数里的 scanf("%d",e);因为你从主函数输入了。
int main(void){
double e,sum;
double funpi(double e);
scanf("%lf",e);
sum=funpi(e);
printf("pi=%.4f",sum*4);
return 0;}
double funpi(double e){
int fuhao=1,fenmu=1;
double i=3.0,sum=0; // i 初值3
//scanf("%d",e); //去掉输入
while (fabs(i)=e) {
i=fuhao*1.00/fenmu;
sum=sum+i; fuhao=-fuhao; fenmu=fenmu+2;
}return sum;
}
输入
0.0001
pi=3.1418
公式
代入 x=1 得
下面是C语言递归实现:
#includestdio.h
#includemath.h
void main()
{
float fuc(int n);
float s,pi,pi2;
for(int i=1;i10000;i++)
{s=1.0/(2*i-1);
if(s1e-6)
break;}
pi=fuc(i)*4; //求出π的值
pi2= pi * 2;
printf ("pi2=%10.6f\n",pi2);
}
float fuc(int n)
{
float pi;
if(n==1) pi=1;
else if(n%2==0)
pi=fuc(n-1)+(-1.0)/(2*n-1);
else pi=f(n-1)+1.0/(2*n-1);
return(pi);
}
我们经常会运用C语言进行各种数学运算,那么如何用C语言编写函数求圆周率Pi的近似值呢?下面我给大家分享一下。
工具/材料
Dev C++
01
首先打开Dev C++软件,新建一个C语言项目,如下图所示
02
然后在C语言文件中导入math库,并编写求Pi近似值的逻辑代码,如下图所示
03
接下来我们编译编写好的C语言文件,如下图所示
04
最后运行C语言文件我们就得到Pi的近似值了,如下图所示