c语言基础编程问题
对不起我又傻了。。希望有大佬可以帮我解答一下呜呜已知可以用下列公式计算π的近似值。给定一个π的近似值e,编程利用下列公式求得最接近e并且小于e的近似值π,以及迭代次数n。
pi/2=1+1!/3+2!/(3×5)+3!/(3×5×7)+…+(n-1)!/(3×5×7×…×(2n-1))
【输入形式】
从控制台输入e( e大于2,小于3.1415925)的值。
【输出形式】
输出最接近e并且小于e的近似值π,以及迭代次数n(以一个空格分隔,并且输出π时要求小数点后保留7位有效数字)。
【样例输入】
3.14159
【样例输出】
3.1415896 18
我的代码
#include<stdio.h>
int main()
{
int n,a;
double e,fs,sum,fm,fz;
fm=1,fz=1,sum=0,a=1;
scanf("%lf",&e);
do
{
fs=fz/fm;
sum+=fs;
fm*=(fm+2);
fz*=a;
n++,a++;//
}
while(sum>=e/2);
printf("%.7lf %d",sum*2,n);
return 0;
}
不知道是哪错了。。