编写一个函数模块,用泰勒级数sin(x),计算sin(x)的值。要求最后一项的绝对值小于10的-5次方(最后一项要算在累加和中) 在main函数中调用这个函数并输出结果。(假设函数模块命名为double sinval(double x))核心代码:
item=x; //item 为泰勒级数公式中的当前项,初始设为第一项
while(fabs(item)>=1e-5) ,//如果当前项的绝对值大于10-5,则继续循环
{
sum=sum+item; //将当前项加入到总和里
n++; //项数+1
s=(2n+1)2n; //分母中比前项多出的两项的乘积
item=(-1)itemxx/s; //在前项的基础上计算当前项。即当前项=-前项xx/s }
编写一个函数模块,用泰勒级数sin(x),计算sin(x)的值。要求最后一项的绝对值小于10的-5次方(最后一项要算在累加和中)
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- qzjhjxj 2022-05-22 23:07关注
供参考:
#include <stdio.h> #include <math.h> double sinval(double x) { int n = 0; double item = x, sum = 0, s;//item 为泰勒级数公式中的当前项,初始设为第一项 while(fabs(item) >= 1e-5) //如果当前项的绝对值大于10-5,则继续循环 { sum = sum + item; //将当前项加入到总和里 n++; //项数+1 s = (2*n+1)*2*n; //分母中比前项多出的两项的乘积 item=(-1)*item*x*x/s; //在前项的基础上计算当前项。即当前项=-前项xx/s } return sum; } int main() { double x; scanf("%lf", &x); printf("%f",sinval(x)); return 0; }
解决 无用评论 打赏 举报
悬赏问题
- ¥15 运筹学中在线排序的时间在线排序的在线LPT算法
- ¥30 求一段fortran代码用IVF编译运行的结果
- ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
- ¥15 lammps拉伸应力应变曲线分析
- ¥15 C++ 头文件/宏冲突问题解决
- ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
- ¥50 安卓adb backup备份子用户应用数据失败
- ¥20 有人能用聚类分析帮我分析一下文本内容嘛
- ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
- ¥30 python代码,帮调试,帮帮忙吧