线性累加求和 PI/4 = 1-1/3+1/5-1/7……,最后一项要求小于10^(-6)

本文介绍了一种使用C语言计算π值的方法,通过级数展开公式PI/4=1-1/3+1/5-1/7...进行计算,讨论了float与double类型在精度上的差异,并提供了完整的代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

初学C语言,请大佬多提宝贵意见,感激不尽。欢迎各位初学者前来交流。

求: PI/4 = 1-1/3+1/5-1/7……

//	PI/4 = 1-1/3+1/5-1/7
/*
--------------------------------------------------
多相线性累加,最后一项绝对值小于10^(-6)p61页
--------------------------------------------------
2019年8月14日12:35:39
若为float型,则输出为3.141598;若为double型,则输出为3.141595,原因:double和float都无法精确表示浮点数。
--------------------------------------------------
*/
# include<stdio.h>
# include<math.h>

int main(void)
{
	int i, j;
	double fl=1, PI=0;		//若为float型,则输出为3.141598;若为double型,则输出为3.141595,原因:double和float都无法精确表示浮点数。

	for (i=1; fl>=0.000001; i+=2)  //不能把i += 2写成i+2,这样i自身的值并没有变化。
	{
		fl = 1.0/i;
		PI = PI+pow(-1,(i-1)/2)*fl;  //相邻的两相,符号相反,可以用b=1,下一个循环时b=-b,来控制轮流相反
	//	printf("%f\n",fl);
	}
	
	PI = PI*4;
	printf("PI = %f\n",PI);



	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值