c语言 全国计算机二级c语言PI的近似分数

> 通过公式编写π的近似值通过计算π的公式π/4=1-1/3+1/5-1/7……计算π的值。C/C++
通过公式编写π的近似值通过计算π的公式π/4=1-1/3+1/5-1/7……计算π的值。C/C++
hongxingwei & &
发布时间: & &
浏览:41 & &
回复:2 & &
悬赏:0.0希赛币
通过公式编写π的近似值通过计算π的公式π/4=1-1/3+1/5-1/7……计算π的值。  C/C++ code   #include&stdio.h& #include&conio.h& #include&math.h& int main(void) {
double t=1,pi=0,n=1;
while(fabs(t)&=1e-8)
t=1/(2*n-1);
printf(&%.8f&,pi*4);
return 0; }
输出:以下是书上的代码:  C/C++ code   #include&stdio.h& #include&conio.h& #include&math.h& int main(void) {
double pi=0,t=1,n=1;
while(fabs(t)&=1e-8)
printf(&%.8f\n&,pi*4);
return 0; }
输出:为什么一个输出的是:3.,一个是3.,最后一位为什么一个是3,一个是7,实现的是相同条件下的相同功能啊???
在while循环里你是先使用了除法,书上是后使用了除法,因此你的精度误差积累得要大一些。
hongyan1234 & &
& & (0)(0)举个例子吧1/3=0.3333......0.3333....*3=0.999999...而1*3=3;3/3=1所以就结果不同& 如果在MatlAB中就更明显了xiaozhi1978 & &
& & (0)(0)
本问题标题:
本问题地址:
温馨提示:本问题已经关闭,不能解答。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&&&湘教QS2-164&&增值电信业务经营许可证湘B2-C语言 计算π的近似值_百度知道
C语言 计算π的近似值
#include &lt.h&gt:π=4-4/
n=1,m!,例如输入3!为什么啊;How many terms in the series should be used: &
total=total+num?;} 输出来的永远都是5?,则计算π=4-4/math,9-4/3+4&#47:#include &lt,哪里错了!.0;5-4/
return 0.h&gt,&i);}
while (n&(2*n-1));total=0;7+4/
printf(&,i;=i);
num=m*(4/11+!.询问用户需要用几级计算π;π=%f&quot.;).,(n+1));
n++,total);3+4/int main(){ 5我的程序是;; scanf(&%d&quot运用公式.000000;m=pow((-1)
提问者采纳
改为num=m*(4;(2*n-1));(2*n-1)).0&#47num=m*(4&#47
!!!!!哦哦,还要把m=pow((-1),(n+1));放到循环里面
提问者评价
来自团队:
其他类似问题
为您推荐:
c语言的相关知识
其他1条回答
sum = sum+k* while ( term &i;
k = -k;main(){
int i=1, sum=0 ;
} printf(&quot,c=0,k=1.0/stdio#include& double term=1 ;
c++,c);%f %d&
i=i+2,4*.h&gt
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁c语言 计算π的近似值_百度知道
c语言 计算π的近似值
int main(){
float sum=0;7+1&#47.0;%10;
d=d*(-1);pause&quot。#include &lt,d=1;
while(1/#include &
return 0;i.h&);i&printf(&9-……这条公式来计算.h&5-1/=1e-6)
sum=sum+d/}为什么最后显示结果是4;
i=i+2;4=1-1/;n&quot,sum)用π&#47.8f&#92,知道某项的绝对值小于10^-6为止程序如下;
sum=sum*4;int i=1;3+1&#47
提问者采纳
}输出结果为;#include &lt.0;.h&stdlib:3,sum);int main(){
float sum=0;
return 0.8f\
system(&quot.h&printf(&
i=i+2,d=1;i;
sum=sum*4;);%10;i&=1e-6)
sum=sum+d/
d=d*(-1);pause&n&quot#include &float i=1
噢噢i d都变成float了~
其他类似问题
为您推荐:
c语言的相关知识
其他1条回答
sum=sum+1;i;i.0*d&#47sum=sum+d&#47
还是不行啊……
哦,while(1/i&=1e-6)也要改为while(1.0/i&=1e-6)
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁共有 1503 人关注过本帖
标题:求π的近似值问题
运行不出结果
等 级:论坛游民
帖 子:100
专家分:74
结帖率:84.62%
&&已结贴√
&&问题点数:20&&回复次数:9&&&
求π的近似值问题
运行不出结果
由公式π/4=1-(1/3)+(1/5)-(1/7)+.....求 直到其中某项的绝对值小于10^(-6)
以下是我写的代码,但运行不出结果,大家看看怎么回事,谢谢!
#include&stdio.h&
#include&math.h&
&&& double pi,term,n;
&&& pi=1.0;n=1.0;term=1.0;
&&& while(fabs(term)&=1e-6)
&&&&&&&&pi=pi+
&&&&&&&&n=n+2;
&&&&&&&&sign=-
&&&&&&&&term=sign/n;
&&& printf(&%lf&,pi);
&&& system(&pause&);
&&& return 0;
搜索更多相关主题的帖子:
&&&&&&&&&&
来 自:云南曲靖
等 级:青峰侠
帖 子:430
专家分:1506
sign 没有赋值
等 级:贵宾
威 望:53
帖 子:3719
专家分:10820
回复 楼主 sun_shang001
没有初始化
总有那身价贱的人给作业贴回复完整的代码
有没有北京回龙观和海淀地区想好好学C语言的?最近家里负担重,而且有点业余时间,想有偿带人入门。我本人也就是入门水平(太高精尖的不会哈),只是经验多一些,可以让你少走弯路。qq:
等 级:青峰侠
帖 子:482
专家分:1599
程序代码:#include&stdio.h&
#include&math.h&
#include&stdlib.h&
int main()
&&& double pi,term,n;
&&& int sign=<font color=#;/////////////
&&& pi=<font color=#.0;////
&&& n=<font color=#.0;
&&& term=<font color=#.0;
&&& while(fabs(term)&=1e-<font color=#)
&&&&&&&&pi=pi+
&&&&&&&&n=n+<font color=#;
&&&&&&&&sign=-
&&&&&&&&term=sign/n;
&&& pi=<font color=#*
&&& printf(&%f&,pi);
&&& system(&pause&);
&&& return <font color=#;
来 自:云南曲靖
等 级:青峰侠
帖 子:430
专家分:1506
pi初始应为0
等 级:论坛游民
帖 子:100
专家分:74
回复 3楼 embed_xuel
额&&这也太低级了&&⊙﹏⊙b汗
等 级:青峰侠
帖 子:482
专家分:1599
回复 4楼 laznrbfe
pi应该初始化为0.0
等 级:论坛游民
帖 子:100
专家分:74
回复 4楼 laznrbfe
#include&stdlib.h&
这个是干什么的&&这儿不加好像也能得到正确结果
等 级:新手上路
int sign=1;
等 级:新手上路
回复 4 楼 laznrbfe
亲,我是初学者。想问一下按这样的写法,整个程序大致是这个意思吗?指定sign为整型,赋初始值为1,指定双精度pi,n,term,分别赋初始值0,1,1.执行pi=pi+term(分项累加和),n=n+2确定每增一项的分母,sin=-sign则是用来控制相邻项的政府交替,term=sign/n表示公式中通项的表达,pi=pi*4表示程序执行出的结果pi/4就是所求的π的近似值,(整个程序依据公式π=1-1/3+1/5……)
版权所有,并保留所有权利。
Powered by , Processed in 0.028007 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights ReservedC语言计算PI值 - 为程序员服务
为程序员服务
C语言计算PI值
如下代码实现PI值计算:
#include &stdio.h&
#include &stdlib.h&
#define SCALE 10000
#define ARRINIT 2000
void pi_digits(int digits) {
int carry = 0;
int arr[digits + 1];
for (int i = 0; i &= ++i)
arr[i] = ARRINIT;
for (int i = i & 0; i-= 14) {
int sum = 0;
for (int j = j & 0; --j) {
sum = sum * j + SCALE * arr[j];
arr[j] = sum % (j * 2 - 1);
sum /= j * 2 - 1;
printf(&%04d&, carry + sum / SCALE);
carry = sum % SCALE;
int main(int argc, char** argv) {
int n = argc == 2 ? atoi(argv[1]) : 100;
pi_digits(n);
相关聚客文章
相关专栏文章

我要回帖

更多关于 c语言 pi 的文章

 

随机推荐