可以帮看看为什么进不去循环吗?

可以帮我看看是哪里的问题么?

img

#include <stdio.h>
#include <math.h>
#define _CRT_SECURE_NO_WARNINGS
int main()
{
    double x, r, a, s,e,w;
    int n,t,m,j;
    printf("input two numbers\n");
    scanf_s("%lf%lf", &x, &r);

    for (n = 1,w=0.00,s=x,t=0.00,e=x*x*x/6; e>r; n++)
    {
        t = 2 * n + 1;
        for (m = 2 * n + 1,a=1.00,j=1.00; n > 0; m--)//得到泰勒展开式各项
        {
            a = a * x;//得到x^(2n-1)
            j = j * m;//得到n!
        }
        w = a / j;
        e = w;//为误差值
        if (t % 4==3)
            w = -w;//定各项正负
        s = s + w;//累加得到除首项以外的各项和式
    }
    printf("sin(x)=%lf", s);
    printf("%lf %lf", e, r);
    return 0;
}

输出e和r看看分别是多少。

这段代码定义了一个名为main的函数,该函数包含了一些常量和变量,并使用printf和scanf函数进行输出和输入。

在函数中,首先使用scanf_s函数从标准输入中读取两个浮点数x和r,然后使用for循环计算泰勒展开式的各项,并使用printf函数输出结果。

在计算泰勒展开式的过程中,使用了一个名为w的变量来存储误差值,并使用if语句来判断当前项的正负。

最后,使用printf函数输出误差值和除首项以外的各项和式。

请注意,这段代码中使用了一些宏定义来防止编译器生成不必要的警告信息。_CRT_SECURE_NO_WARNINGS宏定义用于禁止编译器生成警告信息。