C语言问题,急救~~~!

来源:百度知道 编辑:UC知道 时间:2024/06/01 06:57:06
#include <stdio.h>
#include <math.h>
void main()
{double pi,a,t;
int b=1,c=1;
for (a=1.0;fabs(a)>=1.0e-4;)
{b+=2;
c=-c;
t=c/b;
a+=t;
}
pi=4.0*a;
printf("%f",pi);
}

请问这个求pi的程序有什么问题,问什么无法输出结果~~~?

你的b c的类型定义错了 而且循环的结束条件也是不对的
#include <stdio.h>
#include <math.h>
int main()
{
double pi,a,t;
double b=1,c=1;
for (a=1;fabs(a-3.14159/4)>=1.0e-4;)
{
b+=2;
c=-c;
t=c/b;
a+=t;
}
pi=4.0*a;
printf("%f",pi);
return 0;
}

循环条件不对,fabs(a)不会小于1的吧?