本题要求编写程序,计算序列部分和 1 - 1/4 + 1/7 - 1/10 + ... 直到最后一项的绝对值不大于给定精度eps。

本题要求编写程序,计算序列部分和 1 - 1/4 + 1/7 - 1/10 + ... 直到最后一项的绝对值不大于给定精度eps。

输入格式:

输入在一行中给出一个正实数eps。

输出格式:

在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后六位。题目保证计算结果不超过双精度范围。

输入样例1:

4E-2

输出样例1:

sum = 0.854457

输入样例2:

0.02

输出样例2:

sum = 0.826310
#include 
#include 

int main(){
    int fm = 1;    //fm:分母
    double eps, item = 0.0, sum = 0.0, sign = 1.0;    //item:单个一项;sign:控制正负
    
    scanf("%lf", &eps);
    
    do{
        item = sign*(1.0/fm);
        sign = -sign;    //每次对符号取负值
        fm += 3;    //每次对分母加三
        sum += item;    
    }while( fabs(item) > eps );

    printf("sum = %lf", sum);
    
    return 0;
}

你可能感兴趣的:(PTA,蓝桥杯,c语言,算法)