设eps为double型的变量,循环过程注意分母以及符号的变化,倒数第二项<你输入的eps,最后循环之外加上最后一项的值,该题为c语言程序设计浙江大学出版其中一道例题改编
这句话的意思就是你一直累加,直到最后一项1/n的值小于你给定的eps。eps就是你要求的精度
#include <iostream>
#include <iomanip>
int main()
{
double eps, sum = 0.0, f;
int i = 0;
std::cin >> eps;
while ((f = 1.0 / (3 * i + 1)) > eps)
sum += i++ % 2 == 0 ? f : -f;
std::cout << "sum = " << std::fixed << std::setprecision(6) << sum;
return 0;
}