重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
我们经常会运用C语言进行各种数学运算,那么如何用C语言编写函数求圆周率Pi的近似值呢?下面我给大家分享一下。
创新互联建站坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站制作、网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的龙湖网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
工具/材料
Dev C++
01
首先打开Dev C++软件,新建一个C语言项目,如下图所示
02
然后在C语言文件中导入math库,并编写求Pi近似值的逻辑代码,如下图所示
03
接下来我们编译编写好的C语言文件,如下图所示
04
最后运行C语言文件我们就得到Pi的近似值了,如下图所示
循环体里面的公式有点问题,我重新写了一下,代码如下:
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,望采纳!
我用VS2010,没错啊
// Cos.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "stdio.h"
#include "math.h"
int fact(int x)
{
int s=1;
int i;
for(i=1;i=x;i++)
s=s*i;
return s;
}
double funcos(double e, double x);
int _tmain(int argc, _TCHAR* argv[])
{
double e, sum, x;
scanf("%le%le", e, x);
sum=funcos(e,x);
printf("sum = %f\n", sum);
return 0;
}
double funcos(double e, double x)
{
double s=1;
double item;
int i=2;
int j=1;
item=(double)pow(x,i)/fact(i);
while(iteme)
{
if(j%2==1)
s=s-item;
else
s=s+item;
i=i+2;
j++;
item=(double)pow(x,i)/fact(i);
}
if(j%2==1)
s=s-item;
else
s=s+item;
return s;
}
double funcos(double e, double x)
{
if(e0)
{
int i=0;
double item=1;
double cosx=0;
while(fabs(item)=e)
{
cosx+=item;
i++;
item*=-1*x*x/(2*i*(2*i-1))
}
return cosx;
}
else
return -2;
}
你到底问的是c语言还是c++,虽然两者都是通过输出控制符控制的
C语言:double pi=3.141592653; printf("%.2f",pi); //保留2位小数
C++:double pi=3.141592653; coutfixedsetprecison(2)pi; //保留2位小数
填空部分为:
int i;
double t=x,x2=x*x;
for(i=1;i20;i+=2,t*=x2/((i+1)*(i+2)))
if(i%4==1)sum+=t;
else sum-=t;