请问这个程序哪错了呢?为什么最后结果是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;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!