请找找这个程序运算错在哪

img

img

img

请问这个程序哪错了呢?为什么最后结果是0.793而不是0.819呢?

题目要求前N项之和啊。你for循环每次i+=3,实际只求了前N/3项之和,明白不?
用while循环比较好,修改如下

#include <stdio.h>
int main()
{
    int i=0,a=1,N,d = 1;
    double S = 0;
    scanf("%d",&N);
    while(i<N)
    {
        S += a*1.0/d;
        d += 3;
        a = -a;
        i++;
    }
    printf("sum = %.3lf",S);
    return 0;
}

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