题主的代码里,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;
}
代码试了没有问题,你输入的是什么值?
题目不是提醒你是2n -1 ??怎么还是2(n+1) -1???
稍微将你代码改一下:
#include <stdio.h>
int main()
{
int n, i;
double s = 0, t = 0;
scanf("%d", &n);
int f = 1;
for (i = 1; i <= n; i++)
{
t += (2*i - 1) *f;
s += 1.0 / t;
f *= -1;
}
printf("%.2f", s);
return 0;
}