用子函数求cos x=1-x2/2!+ x4/4! - x6/6!+… 请看详情
答案:1 悬赏:30 手机版
解决时间 2021-02-12 21:14
- 提问者网友:嗝是迷路的屁
- 2021-02-11 20:55
用子函数求cos x=1-x2/2!+ x4/4! - x6/6!+… 请看详情
最佳答案
- 五星知识达人网友:鸽屿
- 2021-02-11 22:06
题目所说的“当取8位小数时,结果约为1.86602621”有误。经用WINDOWS计算器验证,程序的计算是正确的。输出的第一行是验证用的,可以删除。
#include
#include
double mycos(double x)
{double y=1,t=1,p;
p=3.14159265358979*2;
if(x<0)x=-x;
while(x>p)x-=p;
x*=x;
for(int i=1;t>1e-6;i+=2)
{t*=x/(i*(i+1));
y+=i%4==1?-t:t;
}
return y;
}
int main()
{double y;
printf("cos0=%.8lf cos(Pi)=%.8lf cos300=%.8lf cos600=%.8lf
",mycos(0),mycos(3.1415926),mycos(300),mycos(600));
//上面一行printf(...);应当删除
y=mycos(300)+mycos(600);
printf("%.8lf
",y*y);
return 0;
}
#include
#include
double mycos(double x)
{double y=1,t=1,p;
p=3.14159265358979*2;
if(x<0)x=-x;
while(x>p)x-=p;
x*=x;
for(int i=1;t>1e-6;i+=2)
{t*=x/(i*(i+1));
y+=i%4==1?-t:t;
}
return y;
}
int main()
{double y;
printf("cos0=%.8lf cos(Pi)=%.8lf cos300=%.8lf cos600=%.8lf
",mycos(0),mycos(3.1415926),mycos(300),mycos(600));
//上面一行printf(...);应当删除
y=mycos(300)+mycos(600);
printf("%.8lf
",y*y);
return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯