求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
困扰我好久了,怎么也找不到那里出现问题,,真心无奈了 展开
#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
困扰我好久了,怎么也找不到那里出现问题,,真心无奈了 展开
展开全部
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;
{
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;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询