C语言,解二元一次方程的根时需要判断b×b-4×a×c<0,还是 b×b-4×a×c>=0.谭浩强的书写的代码段是:di
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/06/25 22:54:24
C语言,解二元一次方程的根时需要判断b×b-4×a×c<0,还是 b×b-4×a×c>=0.谭浩强的书写的代码段是:disc=b*b-4*a*c; if(disc<0) 我们学校的书是这样写的:disc=b*b-4*a*c; if(fabs(disc)<=1e-6); 到底是我们书是对的还是谭浩强是对的?再做 b×b-4×a×c判断时 fabs(disc)<=1e-6功能结果是否也可以等价与 fabs(disc)<1e-6?
应该都是对的,应该考虑到变量a,b,c的类型,如果都是整型,谭浩强是对的,如果是浮点型,你们的是对的,你们的书是咋定义的?fabs函数是对浮点型求绝对值,最后一个问题不好回答,除非把代码都贴出来,这么几行看不出来的.
再问: 谭浩强的定义的是double,我们定义的是float
再问: 我下午发代码
再答: 这就对了啊,double是8个字节的整型,float是浮点型,两个都是对的。
再问: 神马啊长整型不是long吗,double是双精浮点
再答: 是搞错了,代码贴出来瞧瞧,看看为什么不直接比较 b*b 和 4*a*c 大小
再问: 我们学校的
再问:
再问: 老谭的
再问:
再答: 你们学校的认为 b*b 与 4*a*c 的差异要大于1*10^-6(即0.000001)才算是有差别,否则认为是相等的。这么来看的话,你的最后一个问题“fabs(disc)<=1e-6功能结果是否也可以等价与 fabs(disc)<1e-6?”,这个是认为定义的,如果两个数的差异正好等于0.000001,一个认为相等,一个认为不等。 你们学校的算法把 disc = b*b - 4*a*c 的结果分为三部分处理: 1、两者差异小于(也可以加一个等于)0.000001,则认为disc是等于0,有一个实根 2、disc大于0.000001,有两个实根 3、disc小于-0.000001,虚根 计算机解方程用的是近似求解,类似于逐步逼近,要设置精确度的,你们学校的方法更实用。
再问: 我们学校用TC,可我提前学或者说超前学用的是VC++6.0,是不是,判断是0还是1*10e-6跟这个版本差异也有关系
再问: 判断差异跟我自己与学校编译器不一样有关系吗?
再答: 好久前用过TC,不过判断是0用什么和版本以及编译器无关。
再问: 谢啦(^o^)/
再问: 谭浩强的定义的是double,我们定义的是float
再问: 我下午发代码
再答: 这就对了啊,double是8个字节的整型,float是浮点型,两个都是对的。
再问: 神马啊长整型不是long吗,double是双精浮点
再答: 是搞错了,代码贴出来瞧瞧,看看为什么不直接比较 b*b 和 4*a*c 大小
再问: 我们学校的
再问:
再问: 老谭的
再问:
再答: 你们学校的认为 b*b 与 4*a*c 的差异要大于1*10^-6(即0.000001)才算是有差别,否则认为是相等的。这么来看的话,你的最后一个问题“fabs(disc)<=1e-6功能结果是否也可以等价与 fabs(disc)<1e-6?”,这个是认为定义的,如果两个数的差异正好等于0.000001,一个认为相等,一个认为不等。 你们学校的算法把 disc = b*b - 4*a*c 的结果分为三部分处理: 1、两者差异小于(也可以加一个等于)0.000001,则认为disc是等于0,有一个实根 2、disc大于0.000001,有两个实根 3、disc小于-0.000001,虚根 计算机解方程用的是近似求解,类似于逐步逼近,要设置精确度的,你们学校的方法更实用。
再问: 我们学校用TC,可我提前学或者说超前学用的是VC++6.0,是不是,判断是0还是1*10e-6跟这个版本差异也有关系
再问: 判断差异跟我自己与学校编译器不一样有关系吗?
再答: 好久前用过TC,不过判断是0用什么和版本以及编译器无关。
再问: 谢啦(^o^)/
二元一次方程,求A、B、C的值
c++,输入a,b,c,自定义函数,求二元一次方程ax^2+bx+c=0的解
请教二元一次方程已知a,b,c分别为三角形ABC的三边,试判断关于x的方程(b-c)x^2-2ax+(b+c)=0(b不
c语言找错题/*下列程序的功能是:已知a、b、c,求二元一次方程 ax^2+bx+c=0的最大的 根的程序.程序可能有错
分析下面的 C 语言代码:int a=1,b=10; do{ b-=a; a++; }while (b- -
C语言 a=3,b=4,c=5●a||b+c&&b-c的运算结果
x1 = (-b[ +|-] Sqr(b ^ 2 - 4 * a * c)) / 2 * a的vb代码是多少!
已知a b c是△abc的三边的长,你能判断a*a+b*b-c*c-4a*a*b*b的符号吗
三元一次方程9a-3b+c=0 a-b+c=0 16a-4b+c=-3的解法及答案
2次函数y=ax2+bx+c的图象,请判断a,b,c,=b*b-4ac,a+b+c,a-b+c的符号
设有有理数A<B<C,且A+B+C=0,判断A+B+C的符号
已知a,b,c是△ABC的三边,且(a-b+c)(b²+c²)-2bc(a-b+c)=0,试判断△A