C语言问题,求π的近似值知道某一项的绝对值小于10^-6为止
答案:3 悬赏:70 手机版
解决时间 2021-03-24 00:45
- 提问者网友:感性作祟
- 2021-03-23 05:52
C语言问题,求π的近似值知道某一项的绝对值小于10^-6为止
最佳答案
- 五星知识达人网友:一秋
- 2021-03-23 06:20
#include
int main(void)
{
double pi = 0.0f, x = 0.0f, y = 0.0f, d = 0.0f; int i = 0, j = 0, k = 0;
do {
j = i + 1;
k = j + 2;
x = j;
y = k;
x = 1.0f / x;
y = 1.0f / y;
d = x - y;
pi += d;
i += 4;
}while(x > 1e-6);
printf("π = %9.8f\n", pi * 4.0f);
return 0;
}
运行结果为:
π = 3.14159065
int main(void)
{
double pi = 0.0f, x = 0.0f, y = 0.0f, d = 0.0f; int i = 0, j = 0, k = 0;
do {
j = i + 1;
k = j + 2;
x = j;
y = k;
x = 1.0f / x;
y = 1.0f / y;
d = x - y;
pi += d;
i += 4;
}while(x > 1e-6);
printf("π = %9.8f\n", pi * 4.0f);
return 0;
}
运行结果为:
π = 3.14159065
全部回答
- 1楼网友:毛毛
- 2021-03-23 09:15
#include
#include
#define eps(a) fabs(1.0 / a) //定义精度
int main (){
double pi = 0, n1;
int j = 0; //符号计数
for (int i = 1; eps(i) > 1E-6; i += 2){
if (j % 2) { //偶数项为负数
n1 = - 1.0 / i;
}else n1 = 1.0 / i; //奇数项为正数
pi += (n1); //累加得到π / 4
j ++;
}
printf("PI=%10.8f\n", 4.0 * pi); //输出π
return 0;
}
#include
#define eps(a) fabs(1.0 / a) //定义精度
int main (){
double pi = 0, n1;
int j = 0; //符号计数
for (int i = 1; eps(i) > 1E-6; i += 2){
if (j % 2) { //偶数项为负数
n1 = - 1.0 / i;
}else n1 = 1.0 / i; //奇数项为正数
pi += (n1); //累加得到π / 4
j ++;
}
printf("PI=%10.8f\n", 4.0 * pi); //输出π
return 0;
}
- 2楼网友:一秋
- 2021-03-23 07:49
# include
main()
{
int s;
float n,t,pi;
t=1'pi=0,n=1.0,s=1;
while((fabs(t))>1e-6)
{
pi=pi t;
n=n 2;
s=-s;/*这一步是什么意思难道是使得式子交替正和负如果把s=-s改成-s=s会有什么后果*/
t=s/n;
}
pi=pi*4;
printf("pi=.6f\n",pi);
}
main()
{
int s;
float n,t,pi;
t=1'pi=0,n=1.0,s=1;
while((fabs(t))>1e-6)
{
pi=pi t;
n=n 2;
s=-s;/*这一步是什么意思难道是使得式子交替正和负如果把s=-s改成-s=s会有什么后果*/
t=s/n;
}
pi=pi*4;
printf("pi=.6f\n",pi);
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯