重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#include stdio.h
我们提供的服务有:成都网站设计、成都网站建设、微信公众号开发、网站优化、网站认证、遵化ssl等。为上1000家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的遵化网站制作公司
#include math.h
void main()
{
float sum=0,s=1,t=1,x; /*s,t最好用浮点,要不然经常溢出,另外初值应当是1*/
int i,k=1;
scanf("%f",x);
for(i=0;i=100;i+=2) /*最多50项*/
{
if ((t/s)=1e-6)
{
sum+=(t/s)*k;
k*=-1;
}
else
break;
s*=(i+1)*(i+2); /*阶乘的计算要乘以两项*/
t*=x*x;
}
printf("x=%f\nmycos=%f\tcos=%f\n",x,sum,cos(x));
getch();
}
我发现了两个错误。把第7行放在第5行下面,倒数第二行这个函数应该是printf而不是print。
更好的方法:你调用了math.h文件中的pow函数,你有没有发现math.h文件中还有三角函数。求cos(x)根本不用这么麻烦,你直接调用cos函数即可。
cos函数的原型:double cos(double angle)
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;
}
#includestdio.h
#includemath.h
int
main(void)
{
double
x,
e,cosx;
double
funcos(double
e,int
x);
printf("e:
");
scanf("%lf",e);
printf("x:
");
scanf("%lf",x);
//这里是%lf
cosx=funcos(e,x);
printf("cos(x)=%.3f\n",cosx);
return
0;
}
double
funcos(double
e,int
x)
{
int
flag,a,i;
double
sum,item;
double
fact(int
n);
item=1;
//这个初始化要大于e,否则不执行下面
flag=1;
a=0;
i=0;
sum=0;
while(fabs(item)=e){
item=(flag*pow(x,a))/fact(i);
sum=sum+item;
flag=-flag;
a=a+2;
i=i+2;
}
return
sum;
}
double
fact(int
n)
{
int
i;
double
result;
result=1;
for(i=1;i=n;i++){
result=result*i;
}
return
result;
}
1、首先在电脑中打开Dev-C++,接着在打开的操作主页面中,写好头函数#include stdio.h#include math.h。
2、然后在打开的C语言窗口中,写好主函数,如下图所示。
3、主要代码如下,在while中判断某一项的绝对值小于10-6为止就PI的近似值。
4、最后如下图所示,运行之后就完成了。