[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的主要内容,如果未能解决你的问题,请参考以下文章

[PTA]实验5-10 使用函数求余弦函数的近似值

[PTA]实验4-2-2 求e的近似值

PTA 实验4-2-2 求e的近似值 (15point(s)) Easy only once *和7-3同问题

[PTA] PTA题目集导航

[PTA]习题5-7 使用函数求余弦函数的近似值

PTA 程序设计天梯赛(121~140题)