要点:后一项与前一项的联系无论分子还是分母都是通过i联系起来的,所以可以用sum把上一项的值纪录下来,再在此项的基础上乘以相关i的表达式。
/*近似求PI*/
#include<stdio.h>
double fact(int n);
double fm(int n);
int main(){
int i=1;
double eps,sum=1,item=1;
scanf("%le",&eps);
for(int i=1;item>=eps;i++){
item=item*i/(2*i+1);//这里在项的原有基础上进行改动。
sum+=item;//这里记录了每一项的和
}
printf("PI = %.5f",sum*2);
return 0;
}