#include<stdio.h> #include<math.h> int main( ) { float x1=-10,x2=10,i; while(1) { i=(x1+x2)/2; if(2*i*i*i-4*i*i+3*i-6>0) x2=i; else x1=i; if(fabs(x1-x2)<pow(10,-6)) //输出的精确度在这里控制,-6的时候刚好是输出准确结果2,-5的时候输出的不是准确的 { printf("The root is %f.",i); break; } } return 0; }
时间: 2024-04-02 15:35:59 浏览: 62
编程答案(知识讲座).doc
这是一个二分法求方程根的程序。具体来说,它通过不断缩小一个包含方程根的区间,最终得到方程的近似解。在代码中,while(1) 表示无限循环,直到找到满足精度要求的解为止。其中,i=(x1+x2)/2 表示每次将区间的中点作为近似解,然后根据函数值的大小判断新的区间范围,并不断缩小区间,直到满足精度要求为止。最后,程序输出找到的方程根的值。
阅读全文