求cos(x)的函数程序
本帖最后由 a98 于 2018-3-10 21:01 编辑#include<stdio.h>
#include<math.h>
int fun1(int i)//阶乘
{
int k, sum = 1;
if(i = 0)
{
return 1;
}
else
{
for(k = 1;k <= i; k++)
{
sum = sum * k;
}
return sum;
}
}
double fun(double x) //求cos
{
int i, tag; //tag 为符号位
doublemycos = 0, temp;
i = 0;
tag = 1;
do
{
temp = (pow(x, i))/(fun1(i));
mycos += tag * temp;
tag = -tag;
}while(temp >= 1e-7);
return mycos;
}
void main()
{
double a;
a = fun(0);
printf("%ld\n", a);
}
这个程序应该怎么改呀?感觉思路没错,但是运行不出结果,是我的电脑太慢的原因吗,求大神帮忙看看修改一下
题目是:有函数f(x)=cos(x)可展开成:f(0)+f’(0)x/1!+f”(0)x /2!+… 编写函数程序求cos(x),使误差小于0.0000001。
cos(x)的展开式可以化成:1 - x2/2! + x⁴/4! - …
printf中用%lf BngThea 发表于 2018-3-11 08:10
printf中用%lf
%lf了也没结果,运行不出来 BngThea 发表于 2018-3-11 08:10
printf中用%lf
我知道啦,原来是do里面少了i++,谢谢啦
页:
[1]