题目:1042
题目描述
求1-2/3+3/5-4/7+5/9-6/11+...的前n项和,结果保留3位小数。
输入
输入正整数n(n>0)。
输出
输出一个实数,保留3位小数,单独占一行。
样例输入
5
样例输出
0.917
#include <stdio.h>
int main()
{
int i, n, a, f;
double b, c, sum;
scanf("%d", &n);
sum = 0;
a = 1;
f = 1;
c = 1;
for (i = 1; i <= n; i++)
{
b = c / a;
sum += (f * b);
a += 2;
f = -f; // f在1和-1循环往复
c++;
}
printf("%.3lf", sum); //机果保留3位小数
return 0;
}