(新手求解)《求简单交错序列前N项和》的程序跑不出来,不知道哪里代码错了。请大神指教
#include <stdio.h>
int main() {
int n = 0;
double d = 0;
int b = 0;
int a = 1;
scanf(“%d”, &n);
for (int c = 1; c <= n; c++) {
b = 1 / a;
d = d + b;
a = a * 3;
}
printf(“sum = %f”, d);
return 0;
}
//定义变量 n(项数) a(分母) b(分数)d(结果)c(第几项)
//利用for循环来进行连续的加法一直到c=n
上面就是跑不出来的结果,不知道为什么不行。
b
是分数,所以应该定义成double
类型,而不是int
,而且,第2, 4, 6, ...
(偶数个)b
应该是 负数,不应该全写成d = d + b
。修改这两处错误应该就可以了。