Leo Linuxhnrainll.blog.chinaunix.net
hnrainll
全部博文(354)
2010年(300)
2009年(54)
大鬼不动
叶绍琛
路沐堇
HoariNes
快乐的猪
6551130
zjt_pond
K__奕__
cynthia
格伯纳
Bsolar
葫芦娃的
分类: C/C++
2010-06-25 07:42:26
#include <stdio.h> #include <stdlib.h> #include <math.h> float f(float x) { float y; y = ((x - 8.0)*x - 12.0)*x - 30.0; return y; } float xpoint(float x1, float x2) { float y; y = (x1 * f(x2) - x2*f(x1)) / (f(x2) - f(x1)); return y; } float root(float x1, float x2) { float x, y, y1; y1 = f(x1); do{ x = xpoint(x1, x2); y = f(x); if(y * y1 > 0) { y1 = y; x1 = x; } else x2 = x; } while(fabs(y) >= 0.0001); return x; } int main(int argc, char *argv[]) { float x1, x2, f1, f2,x; do{ printf("Please input x1, x2:\n"); scanf("%f, %f", &x1, &x2); f1 = f(x1); f2 = f(x2); } while(f1 * f2 > 0); x = root(x1, x2); printf("A root of equation is %9.6f\n", x); system("pause"); return 0; }
上一篇:C指针相关的资料
下一篇:如何用好WinAVR里的延时函数
登录 注册