C语言中的求п值的问题??(急求)

来源:百度知道 编辑:UC知道 时间:2024/07/05 05:46:21
main()
{ int i=0;doule x;scanf("%f",&x);
double up=1,down=1,one=1,t=1;
while(one>=x)
{ i++;
up=up*i;
down=down*(2*i+1);
one=up/down;t+=one;}
printf("%f",2*t);
}
如果输入0.0005,则输出3.140578,哪地方出了错误呢??

注意格式,double 用 %lf
scanf("%lf",&x);
printf("%lf",2*t);

scanf("%...) 语句要放在声明以后。

语法问题
你输入的x是double类型,输入要用%lf
要不然输不进数字的,都是一个负值
所以你后面的循环永远跳不出,是个死循环