本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后三位。题目保证计算结果不超过双精度范围。
输入样例:
10
输出样例:
sum = 0.819
主要思路:通过定义一个flag变量实现正负交错
#include<stdio.h> int main() { int n, count = 1, i = 1; int flag = 1; double sum = 0; scanf("%d",&n); for(count; count <= n; count++,i += 3) { sum += flag*1.0 / i;//每一项计算出的值都应该是浮点数,因而flag完全可以声明为一个实型变量 flag = -flag; } printf("sum = %.3lf",sum); return 0; }