ZZULI1042: 数列求和3

题目描述

求1-2/3+3/5-4/7+5/9-6/11+...的前n项和,结果保留3位小数。

输入

输入正整数n(n>0)。

输出

输出一个实数,保留3位小数,单独占一行。

样例输入 Copy

5

样例输出 Copy

0.917
#include <stdio.h> // 引入标准输入输出库,以便使用 printf 和 scanf 函数

int main() { // 主函数入口,程序从这里开始执行
    int n, t = -1; // 定义整数 n 用于存储用户输入的正整数,t 初始化为 -1,用于控制项的符号
    double sum = 0.0; // 定义双精度浮点数 sum,用于累加结果,初始值为 0.0

    // 提示用户输入正整数 n
    scanf("%d", &n); // 从标准输入读取一个整数 n,用户需要输入一个正整数

    // 开始循环计算前 n 项的和
    for (int k = 1; k <= n; k++) // 循环变量 k 从 1 增加到 n
    {
        t *= -1; // 每次循环时改变 t 的符号,奇数项为正,偶数项为负,因此 t 在每次迭代中取反

        // 计算当前项并将其累加到 sum 中,(double)k 确保浮点除法
        sum += (double)k / (2 * k - 1) * t; // 当前项计算公式:k / (2*k - 1),乘以符号 t

    }

    // 输出结果,保留三位小数
    printf("%.3f\n", sum); // 打印 sum 的值,格式化为保留三位小数的浮点数

    return 0; // 返回 0,表示程序正常结束
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值