早教吧作业答案频道 -->其他-->
C语言解方程问题#include"stdio.h"#include"math.h"floatf(floatx);voidmain(){floatx,x1=0,x2=10;x=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1));while(fabs(f(x))>=1e-6){if(f(x)<0)x1=x;elsex2=x;x=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1));}pr
题目详情
C语言 解方程问题#include "stdio.h" #include "math.h" float f(float x); void main() { float x,x1=0,x2=10; x=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1)); while(fabs(f(x))>=1e-6) { if(f(x)<0) x1=x; else x2=x; x=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1)); } printf("%f\t%f",x,f(x)); getch(); } float f(float x) { return (x*x*x-5*x+16*x-80); } 可能是 while(fabs(f(x))>=1e-6) 的问题 我编译没问题 可是运行竟然是个空白 而我把1e-6精度缩小的话 运行能够成功 是程序无法达到1e-6精度的原因吗??为什么?? 哪位高手帮我解答一下 急急!!!!!!
▼优质解答
答案和解析
你说的是对的 精度无法达到 这个与你定义的float类型有关 由于float类型只能精确到小数点后6位 也就是说你的while循环始终会成立 不会有输出结果,但是缩小一点就没有问题了
看了 C语言解方程问题#inclu...的网友还看了以下:
集合={x|x2+x-6=0},B={x|ax+1=0},若B包含于A,则实数a的集合 2020-05-15 …
(1)2x^2+3x-1(2)x^3-8y^3-z^3-6xyz(3)x^3-9x+8(4)x^9 2020-05-17 …
设集合P={x|x2-x-6<0},Q={2a≤x≤a+3}.(1)若P∪Q=P,求实数a的取值范 2020-06-12 …
集合A={x|x2+x-6<0},B={y|y=lg(x2+1)},则A∩B等于()A、(-3,2 2020-07-15 …
若集合A={x|x2+x-6=0}B={x|x2+x+a=0},且B含于A求实数a的取值范围 2020-07-21 …
集合怎么比大小?例子人教版P5页的B={X|X2+X-6=0},则3——B. 2020-07-22 …
设A=﹛x▏x2-x-6=0﹜,B=﹛x▏x2+﹙1-2m﹚x+m的平方-7=0﹜,若A是B的子集 2020-07-29 …
已知全集U=R,Z是整数集,集合A={x|x2-x-6≥0,x∈R},则Z∩∁UA中元素的个数为个 2020-07-30 …
1.试表示A={(x,y)|y=|x|}和B={(x,y)|y>0,x∈R}之间的关系.2.已知集 2020-08-01 …
已知集合A={x|x2-x-6<0},B={x|0<x-m<9}(1)若A∪B=B,求实数m的取值范 2020-10-31 …