C语言:圆周率的计算Description根据下面关系式,求圆周率pi的值,直到最后一项的值小于epsilon.epsi
来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/05/14 03:45:19
C语言:圆周率的计算
Description
根据下面关系式,求圆周率pi的值,直到最后一项的值小于epsilon.epsilon的值由键盘输入.
pi/2=1+1/3+2!/(3*5)+3!/(3*5*7)+...+n!/(3*537*...*(2n+1))
Input
输入一个浮点数表示epsilon的值
Output
输出圆周率Pi的值,保留6位小数.
Sample Input
0.000001
Sample Output
3.141590
HINT
(参考:epsilon为0.01时,圆周率3.121501;epsioon为0.0001时,圆周率为3.141358)
#include<stdio.h>
int main()
{
int n;
double e,f,fz,fm,sum,pi;
n=0;
fz=1;
fm=1;
sum=0;
scanf("%lf",&e);
for(f=1;f>=e;n++)
{
if(n==0)
fz=1;
else
fz=fz*n;
fm=fm*(2*n+1);
f=fz/fm;
sum=sum+f;
}
pi=2*sum;
printf("%.6f\n",pi);
return 0;
}
可是交上去就是wrong answer,而且我的答案小数点最后一位和题目的答案差1.希望帮我看看哪里错了.
Description
根据下面关系式,求圆周率pi的值,直到最后一项的值小于epsilon.epsilon的值由键盘输入.
pi/2=1+1/3+2!/(3*5)+3!/(3*5*7)+...+n!/(3*537*...*(2n+1))
Input
输入一个浮点数表示epsilon的值
Output
输出圆周率Pi的值,保留6位小数.
Sample Input
0.000001
Sample Output
3.141590
HINT
(参考:epsilon为0.01时,圆周率3.121501;epsioon为0.0001时,圆周率为3.141358)
#include<stdio.h>
int main()
{
int n;
double e,f,fz,fm,sum,pi;
n=0;
fz=1;
fm=1;
sum=0;
scanf("%lf",&e);
for(f=1;f>=e;n++)
{
if(n==0)
fz=1;
else
fz=fz*n;
fm=fm*(2*n+1);
f=fz/fm;
sum=sum+f;
}
pi=2*sum;
printf("%.6f\n",pi);
return 0;
}
可是交上去就是wrong answer,而且我的答案小数点最后一位和题目的答案差1.希望帮我看看哪里错了.
在for循环后加一句: sum -= f;
你多加了最后那个小于epsioon的值.
你多加了最后那个小于epsioon的值.
C语言:圆周率的计算Description根据下面关系式,求圆周率pi的值,直到最后一项的值小于epsilon.epsi
C语言根据公式 e = 1 + 1/1!+ 1/2!+ 1/3!+ …….+ 1/n!计算e的值,直到最后一项小于10-
c语言题目按照下列公式计算cosx的值,直到最后一项小于10^-6为止:
C语言计算PAI的值用圆周率PAI=4*(1-1/3+1/5-1/7+...)公式计算圆周率PAI.加到某项绝对值小于1
C语言 计算圆周率的近似值 填空
求圆周率∏的近似值.公式为= 1-+-…+(-1)(n+1)×,直到最后一项的绝对值小于0.000001 为止
VB求圆周率∏的近似值.公式为 = 1- + - …+(-1)(n+1)× ,直到最后一项的绝对值小
c语言编程 求X+X^2/2!+X^3/3!...的值,直到最后一项
C语言题,1.计算圆周率pi(3.14) 的近似值 2.任意从键盘输入一个字符,输出其ASCII码
圆周率PI怎么算出来的?
怎样用公式4/r约等于1-1/3+1/5-1/7+.求r(的为圆周率)的近似值,直到最后一项的绝对值小于十的负六次方
用java计算圆周率 PI=4-4/3+4/5-4/7.打印出第一个大于 3.1415小于 3.1416的值