[PTA]实验6-1 近似求PI
Posted Spring-_-Bear
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[PTA]实验6-1 近似求PI相关的知识,希望对你有一定的参考价值。
本题要求编写程序,根据下式求π的近似值,直到最后一项小于给定精度eps。
输入格式:
输入在一行中给出精度eps,可以使用以下语句来读输入:
scanf("%le", &eps);
输出格式:
在一行内,按照以下格式输出π的近似值(保留小数点后5位):
PI = 近似值
输入样例:
1E-5
输出样例:
PI = 3.14158
- 提交结果:
- 源码:
#include<stdio.h>
int main(void)
{
double item, sum, eps; // item:第i项的值;sum:各项累加和;eps:精度
double numerator = 1; // 第i项的分子
int i = 1; // 项数,从 1! / 3 算作第一项
scanf("%le", &eps);
// 赋初值
item = 1;
sum = 1;
while (item - eps >= 0)
{
double denominator = 1; // 第i项的分母
// 分子为i!
numerator *= i;
// 求得分母
for (int j = 1; j <= i; j++)
{
denominator *= (2 * j + 1);
}
item = numerator / denominator;
sum += item;
i++;
}
printf("PI = %.5f\\n", 2*sum);
return 0;
}
以上是关于[PTA]实验6-1 近似求PI的主要内容,如果未能解决你的问题,请参考以下文章