求C语言大虾......程序出现 -1.#IND00

程序:#include"stdio.h"voidmain(){floatx1,x2,x0;floatf1(floatx);floatf2(floata1,floata2)... 程序:
#include "stdio.h"
void main()
{
float x1,x2,x0;
float f1(float x);
float f2(float a1,float a2);
float f3(float c1,float c2);
float f4(float d1,float d2);
scanf("%f,%f",&x1,&x2);
if(f2(x1,x2)>0)
printf("输入错误。\n");
else
{
x0=f3(x1,x2);
printf("%f",x0);
}
}
float f1(float x)
{
float y;
y=x*x*x-5*x*x+16*x-80;
return (y);
}
float f2(float a1,float a2)
{
float y1,y2,y3;
y1=f1(a1);
y2=f1(a2);
y3=y1*y2;
return(y3);
}
float f3(float c1,float c2)
{
if(f1(c1)==0)return(c1);
else if(f1(c2)==0)return(c2);
else if(f4(c1,c2)>0.00001)
{
float c3;
c3=(c1+c2)/2;
if(f2(c1,c3)<=0)f3(c1,c3);
else f3(c3,c2);
}
else return(c1);

}
float f4(float d1,float d2)
{
float m;
if (d1>d2)m=d1-d2;
else m=d2-d1;
return(m);
}

输入1,6

结果:
1,6
-1.#IND00

Press any key to continue

困扰我好久了,怎么也找不到那里出现问题,,真心无奈了
展开
 我来答
kaixingui2012
2012-10-25 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6529万
展开全部
float f3(float c1,float c2)

{
if(f1(c1)==0)return(c1);
else if(f1(c2)==0)return(c2);
else if(f4(c1,c2)>0.00001)
{
float c3;
c3=(c1+c2)/2;
if(f2(c1,c3)<=0) return f3(c1,c3); //这里应该return 否则,你的主函数x0收不到有效的数据
else return f3(c3,c2); //这里应该return,同上
}
else return(c1);
}

还有,你的程序函数声明,应该放到main之前,不然,后面的函数在调用f4时,没有函数声明,编译有警告,运行可能也有错误。
float f1(float x);
float f2(float a1,float a2);
float f3(float c1,float c2);
float f4(float d1,float d2);

void main()
{
float x1,x2,x0;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式