C语言编程。利用公式:π/4=1-1/3+1/5-1/7+……+1/(4n-3)-1/(4n-1)按照以下两种要求分别计算π的值。 10
(1)前10000项。(2)最后一项的绝对值小于整数7.说明:必须利用C语言以及语言以及顺序、选择、循环句式加基本类型的数据结构完成。不允许利用数组、结构体等构造类型及指...
(1)前10000项。(2)最后一项的绝对值小于整数7.说明:必须利用C语言以及语言以及顺序、选择、循环句式加基本类型的数据结构完成。不允许利用数组、结构体等构造类型及指针等类型,不允许利用用户自定义函数。(阐述程序的分析过程、流程图、源代码、关键代码的解释)
展开
展开全部
(1)首先,要知道系数为正数的项的分母是4n-3(n为正数项的项数),为负数的项的分母为4n-1(n为负数项的项数),即分母的变化规律是1、3、5、7...的奇数数列,则第n项的分母为2n-1,第10000项的分母为2*10000-1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | // math1.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include<iostream> #include<cmath> using namespace std; int main() { double p=0,j=1; int i; for ( i=1;i<10000;i++ ) //此处i为项数 { j= pow (-1.0,i+1)/(2*i-1); //pow(x,y)求x的y次幂 p+=j; printf ( "%lf\n" ,4*p); //输出每一项的值 } printf ( "%lf\n" ,4*p); //输出最终pi值 system ( "PAUSE" ); //屏幕暂停 return 0; } |
(试验可知,项数越大,得出的圆周率值越精确。)
2017-08-11
展开全部
#include <string.h>
#include <stdio.h>
int main (int argc, char const* argv[])
{
double ans = 0.0;
for(int i = 1;i <= 10000; i++)
ans += 1.0 / (4 * i - 3) - 1.0 / (4 * i - 1);
printf("%f\n",4.0 * ans);
}
第二个条件。我不是很懂。。。
#include <stdio.h>
int main (int argc, char const* argv[])
{
double ans = 0.0;
for(int i = 1;i <= 10000; i++)
ans += 1.0 / (4 * i - 3) - 1.0 / (4 * i - 1);
printf("%f\n",4.0 * ans);
}
第二个条件。我不是很懂。。。
展开全部
参考代码:
#include <stdio.h>
#include <math.h>
int main()
{
double pi = 0, n = 1.0, t = 1;
int flag = 1;
while(fabs(t) >= 1e-7) //精确到小数点后7位
{
pi += t;
flag = -flag;
n += 2;
t = flag/n;
}
pi = pi * 4;
printf("pi = %f\n", pi);
return 0;
}
#include <stdio.h>
#include <math.h>
int main()
{
double pi = 0, n = 1.0, t = 1;
int flag = 1;
while(fabs(t) >= 1e-7) //精确到小数点后7位
{
pi += t;
flag = -flag;
n += 2;
t = flag/n;
}
pi = pi * 4;
printf("pi = %f\n", pi);
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询