C语言程序C语言程序

img


求sin函数的值,要求最后一项的绝对值小于十的负五次方,求实数绝对值的数学库函数为fabs

运行结果:

img

代码:

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <math.h>

double jc(int n)
{
    double s = 1;
    int i = 1;
    for (i = 1; i <= n; i++)
        s *= i;
    return s;
}

int main()
{
    double x, sx =0;
    int flag = 1;
    int i = 1;
    double fz, fm = 1, v;
    scanf("%lf", &x);
    fz = x;
    v = fz / fm;

    while (fabs(v) >= 1e-5)
    {
        sx += flag * v;
        i += 2;
        fz = pow(x, i);
        fm = jc(i);
        flag = -flag;
        v = fz / fm;
    }

    printf("%lf", sx);

    return 0;
}

最后一项小于10的-5次方,用do...while比较合适,代码稍后

#include <stdio.h>
int main()
{
    double sin = 0,fz=0,fm=0;
    double item = 0,x;
    int i=1;
    scanf("%lf",&x);
    fz = x;
    fm = i;
    int flag = 1;
    do
    {
        item = fz/fm;
        sin += item * flag;
        flag = -flag;
        fz *= x*x;
        fm *= (i+1)*(i+2);
        i+=2;
    }while(item >= 1e-5);
    printf("%lf",sin);
    return 0;
}

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