(新手求解)《求简单交错序列前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

上面就是跑不出来的结果,不知道为什么不行。

讨论数量: 1
长日将尽

b 是分数,所以应该定义成 double 类型,而不是 int,而且,第 2, 4, 6, ... (偶数个)b 应该是 负数,不应该全写成 d = d + b。修改这两处错误应该就可以了。

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!