常用数值计算算法及其程序设计

1.采用递推法计算sinx幂级数展开式的近似值,当通项绝对值小于10-8时停止累加。
【测试数据】

当输入x=3.1415926时输出0.0,,当输入x=1.5707963时输出1.0

img

img

代码如下,供参考

#include <stdio.h>
#include <math.h>
void main()
{
    float x, s, a;
    int i;
    printf("请输入x\n");
    scanf("%f", &x);
    a = x;
    s = 0;
    for (i = 1; fabs(a) >= pow(10, -8); i++)
    {
        s = s + a;
        a = -a * pow(x, 2) / (2 * i * (2 * i + 1));
    }
    printf("sinx = %.1f\n", s);
}
#include<stdio.h>
 #include<math.h>
 int main(void)
 {
     double x,a,s;
     int n=1;
     scanf("%lf",&x);
     a=x;//a设置为每一项 初始值是第一项 
     s=a;//s表示展开式初始值是第一项 
     while(fabs(a)>=1e-8)
     {
         a=-a*x*x/(n+1)/(n+2);
         s=s+a;
         n+=2;
     }
     printf("%.1f",s);
     return 0;
  } 


您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^