首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

一到简单的题,多谢

2012-03-03 
求助一到简单的题,谢谢!请教大家如何用二分法求一个方程的跟,给出代码,谢谢![解决办法]#include stdio.h

求助一到简单的题,谢谢!
请教大家如何用二分法求一个方程的跟,给出代码,谢谢!

[解决办法]
#include <stdio.h>
#include <math.h>
#include <conio.h>
#define precision 0.0005 /* 精度*/
double f(double x)
{
return ( pow(x,6)-x)-1;
}
main()
{
double a =1; /* 区间左端点 */
double b = 2; /* 区间右端点 */
double mid_temp; /* 中点值的f(x)临时变量 */
double midpoint; /* 中点 */
double error_temp; /* 误差临时变量 */
double value; /* 存放方程的解确 */
double fx_left; /* 左端点 的f(x)临时变量 */
double fx_right; /* 右端点 的f(x)临时变量 */
do /* 二分法算法 */
{ clrscr(); /* 清屏 */
midpoint = (a + b)/2 ;
mid_temp = f( midpoint );
error_temp = 0.0;
fx_left = f(a);
fx_right = f(b);
if ( mid_temp==0 )
{
value=midpoint; /* 中点X的正好是解,输出 */
break;
}
else
{
if ( mid_temp * fx_left < 0 ) /* 中点值的f(x)与左端点值不同号 */
b = midpoint ; /* 右端点左移 */
else
a = midpoint; /* 否则, 左端点右移 */
}
error_temp = b - a; /* 以下取本轮的误差*/
} while(error_temp> precision); /* 当误差限小于允许范围时,中止循环*/
value=midpoint;
printf( " Equation : x*x*x*x*x*x-x-1=0\n ");
printf( " Equation Of Values : value= %.6f\n ",value); /* 结果保留至小数点后6位 */
}
[解决办法]
mark

热点排行