PTA函数 7-1 近似求PI 本题要求编写程序,根据下式求π的近似值,直到最后一项小于给定精度eps

本题要求编写程序,根据下式求π的近似值,直到最后一项小于给定精度eps。

2π​=1+31!​+3×52!​+3×5×73!​+⋯+3×5×⋯×(2×i+1)i!​+⋯ 泰勒公式

输入格式:

输入在一行中给出精度eps,可以使用以下语句来读输入:

scanf("%le", &eps);

输出格式:

在一行内,按照以下格式输出π的近似值(保留小数点后5位):

PI = 近似值

输入样例:

1E-5

输出样例:

PI = 3.14158

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB


解题

①这道题开头,我们应该知道这是啥意思:%le

%le表示按照科学计数法读取一个双精度浮点数,其中l表示longe表示指数形式。因此,当你输入一个类似于1E-5的字符串时,scanf函数会将其转换为一个双精度浮点数,并将其存储在变量eps中。

②输入样例输入的是什么?

在科学计数法中,1E-5表示1乘以10的负5次方,即0.00001。其中,E表示指数形式,是英文单词exponent的缩写。因此,1E-5可以写成1×10^-5或者0.00001

好,那么以下是代码

#include<stdio.h> 
int main(void)
{
    double i=1; //定义变量i的初始值为1
    double eps,sum=0,re=1; //定义变量eps、sum、re的初始值分别为0、1、1
    scanf("%le", &eps); //读入精度eps
    while(re>=eps){ //循环计算
        sum = sum + re; //累加每一项的值
        re = re * i/(2*i+1); //计算每一项的值
        i = i + 1; //更新i的值
    }
    sum = sum + re; //累加最后一项的值
    printf("PI = %.5f",2*sum); //输出π的近似值
    return 0; 
}

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Louis Maos

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值