其次,你的题目是否有问题???得不出结果啊,还有你定义的c怎么不使用。我按照你题目的意思编写了一下,但不出结果(死循环)。
#include
float f(float x)
{
float y;
y=x+10/x;
return(y);
}
float abvalue(float a,float b)
{
if(a>b)
return (a-b);
else
return (b-a);
}
void main()
{
float a=2,b=10,c=0.3;
float f1,f2,k,a1,b1;
do
{
a1=a+0.382*(b-a); //第一步
b1=b+0.618*(b-a);
if(f(a1)>f(b1))//第二步
{
a=a1;
b=b;
}
else
{
b=b1;
a=a;
}
}
while(abvalue(a,b)>0.3);
printf("the result k is %f",(b-a)/2);
}
另外,虚机团上产品团购,超级便宜