C语言:计算1-1/2+1/3-1/4+…+1/99-1/100+…,直到最后一项的绝对值小于10-4为止。

本文介绍并对比了两种计算自然对数底数(ln2)的近似值的方法。方法一使用for循环和条件判断实现交错序列的累加,方法二采用do-while循环进行同样的计算。两者都通过控制循环终止条件来确保精度,最终得到的近似值均为0.693191。

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

//方法一

 float sum=0;
 int i;
 int flag=1;
 
 for(i=1;fabs(1.0/i)>=0.0001;i++){
	sum=sum+1.0/i*flag;
	flag*=-1; 
 }
 printf("%f\n",sum);//运行结果:0.693191
 
//方法二
int i=1;
float a;
float sum=0;
do{
	if(i%2==0)//i为偶数
	{
		sum -=1.0/i; 
	}
	else
	{
		sum +=1.0/i; 
	}
	i++;
}while(fabs(1.0/i)>=0.0001);//fabs()求浮点数绝对值函数
printf("1 - 1/2 + 1/3 -1/4 + ... -1/i+...=%f,i=%d",sum,i);//运行结果:0.693191,i=10000
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值