用二分法求下面方程在(-10,10)之间的根:2x^3-4x^2+3x-6=0
2015-06-22 11:43
477 查看
【描述】
用二分法求下面方程在(-10,10)之间的根:2x^3-4x^2+3x-6=0
【C语言】
#include<stdio.h>
#include<math.h>
int main() {
double x1, x2, x0, fx1,fx0,fx2;
x1 = -10, x2 = 10;
do {
printf("Please enter x1,x2:");
fflush(stdout);
scanf("%f %f",&x1,&x2);
fx1 = 2 * x1 * x1 * x1 - 4 * x1 * x1 + 3 * x1 - 6;
fx2 = 2 * x2 * x2 * x2 - 4 * x2 * x2 + 3 * x2 - 6;
}while(fx1*fx2>0);
do{
x0 = (x1 + x2) / 2;
fx0 = 2 * x0 * x0 * x0 - 4 * x0 * x0 + 3 * x0 - 6;
if ((fx0 * fx1) < 0) {
x2 = x0;
fx2 = fx0;
} else {
x1 = x0;
fx1 = fx0;
}
} while (fabs(fx0) > 1e-5);
printf("%f\n", x0);
return 0;
}
用二分法求下面方程在(-10,10)之间的根:2x^3-4x^2+3x-6=0
【C语言】
#include<stdio.h>
#include<math.h>
int main() {
double x1, x2, x0, fx1,fx0,fx2;
x1 = -10, x2 = 10;
do {
printf("Please enter x1,x2:");
fflush(stdout);
scanf("%f %f",&x1,&x2);
fx1 = 2 * x1 * x1 * x1 - 4 * x1 * x1 + 3 * x1 - 6;
fx2 = 2 * x2 * x2 * x2 - 4 * x2 * x2 + 3 * x2 - 6;
}while(fx1*fx2>0);
do{
x0 = (x1 + x2) / 2;
fx0 = 2 * x0 * x0 * x0 - 4 * x0 * x0 + 3 * x0 - 6;
if ((fx0 * fx1) < 0) {
x2 = x0;
fx2 = fx0;
} else {
x1 = x0;
fx1 = fx0;
}
} while (fabs(fx0) > 1e-5);
printf("%f\n", x0);
return 0;
}
相关文章推荐
- Lua和C语言的交互详解
- 关于C语言中参数的传值问题
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言内存对齐实例详解
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总
- 探讨C语言的那些小秘密之断言
- 深入探讨C语言中局部变量与全局变量在内存中的存放位置
- C语言泛型编程实例教程
- C语言中使用lex统计文本文件字符数
- 基于C语言fflush()函数的使用详解
- C语言单链队列的表示与实现实例详解
- 关于C语言除0引发的思考
- 深入分析C中不安全的sprintf与strcpy
- Lua教程(四):在Lua中调用C语言、C++的函数
- C语言求幂计算的高效解法
- C语言实现输入一颗二元查找树并将该树转换为它的镜像
- 12个关于C语言的有趣问答
- 探讨register关键字在c语言和c++中的差异