一.题目要求
本题要求编写程序,计算序列1-1/4+1/7-1/10+...的前N项和。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中按照“sum=S”的格式输出部分和的值S,精确到小数点后三位。题目保证计算结果不超过双精度范围。
输入样例:
10
输出样例:
sum=0.819
二.代码
#include<stdio.h>
int main()
{
int N,denominator,i,flag;
double item,sum;
scanf("%d",&N);
flag=1;//由于各项的符号变化,用变量flag表示每一项的符号,初始时flag=+1,对应第一项为正,每次循环执行flag=-flag,实现正负交替变化
denominator=1;//表示每一项的分母,每次循环分母递增3
item=1;
sum=0;
for(i=1;i<=N;i++){
sum=sum+item;
flag=-flag;
denominator=denominator+3;
item=flag*1.0/denominator;
}
printf("sum = %.3f\n",sum);//精确到小数点后3位
return 0;
}