求多项式C语言,不知道自己哪里错了

img


不知道自己哪里错了,输入超限,求指点,感觉逻辑上也是正确的,但就是不知道哪错了,谢谢了

题主的代码里,s = s + 1 / t 这句修改为:s = s + 1.0 /t 试试。变量 s 和 t 用double型,修改如下,供参考:

#include <stdio.h>
int main()
{
    int n, i;
    double s = 0, t = 0;
    scanf("%d", &n);
    for (i = 1; i <= n; i++)
    {
        t += i % 2 ? (2 * i - 1) : (1 - 2 * i);
        s += 1.0 / t;
    }
    printf("%.2f", s);
    return 0;
}

代码试了没有问题,你输入的是什么值?

img

题目不是提醒你是2n -1 ??怎么还是2(n+1) -1???
稍微将你代码改一下:


#include <stdio.h>
int main()
{
    int n, i;
    double s = 0, t = 0;
    scanf("%d", &n);

    int f = 1for (i = 1; i <= n; i++)
    {
        t += (2*i - 1) *f;
        s += 1.0 / t;
        f *= -1;
    }
    printf("%.2f", s);
    return 0;
}