我是新手学习C语言,有问题不知哪不对,望高手指教。

来源:百度知道 编辑:UC知道 时间:2024/09/22 05:51:43
要求a/4=1/1-1/3+1/5-1/7+1/9..直到最后一个式子的绝对值小于10的负4次方为止,答案a=3.14,我用while编写并运行以下程序后的值为0。
#include "math.h"
main()
{float m=1.0,t=0,a=0;
int c=1;
while(fabs(t)>=1e-4)
{a+=t;
t=c/m:
m+=2.0;
c=-c;}
a*=4;
printf("%.2f/n",a);
}
即使t的值为0.001那么答案还差的很多,

改成如下即可:
#include "math.h"
main()
{float m=1.0,a=0;
int c=1;
while(fabs(c/m)>=10e-4) //是10的-4次方,不需用t
{a+=c/m;
c=-c;
m+=2.0;
}
a*=4;
printf("%.2f\n",a);
}

#include "math.h"
main()
{float m=1.0,t=0,a=0;
int c=1;
do
{a+=t;
t=c/m:
m+=2.0;
c=-c;}
while(fabs(t)>=1e-4);改成do while循环。
a*=4;
printf("%.2f/n",a);
}

t的初值为0,条件fabs(t)>=1e-4的值为假,循环不执行。