C语言求方程ax2+bx+c=0的根。

求方程ax2+bx+c=0的根。
要求:
(1)a,b,c的值由键盘输入;
(2)定义函数tworealsolves(),计算当b2-4ac>0时的两个实根x1,x2;
(3)定义函数onerealsolve(),计算当b2-4ac=0时的两个相同的实根x1=x2;
(4)定义函数imagsolves(),计算当b2-4ac<0时的两个虚根x1,x2;
提示:由于需要在每个函数中改变变量x1,x2的值,因此,建议将x1,x2定义为全局变量。在计算根时,需要三个系数的值,因此,自定义的三个函数可以有3个参数,也可以用两个参数,而把b2-4ac的值作为全局变量放在主函数中计算。

利用类的形式刻画一元二次方程

采用一元二次方程根特性 对2次系数a和delta进行判断 进而得出根的三种情:

#include<iostream>

#include<cmath>

using namespace std。

支持继承和重用:

在C++现有类的基础上可以声明新类型,这就是继承和重用的思想。通过继承和重用可以更有效地组织程序结构,明确类间关系,并且充分利用已有的类来完成更复杂、深入的开发。新定义的类为子类,成为派生类。它可以从父类那里继承所有非私有的属性和方法,作为自己的成员。

扩展资料:

工作原理:

C++语言的程序因为要体现高性能,所以都是编译型的。但其开发环境,为了方便测试,将调试环境做成解释型的。即开发过程中,以解释型的逐条语句执行方式来进行调试,以编译型的脱离开发环境而启动运行的方式来生成程序最终的执行代码。

生成程序是指将源码(C++语句)转换成一个可以运行的应用程序的过程。如果程序的编写是正确的,那么通常只需按一个功能键,即可搞定这个过程。该过程实际上分成两个步骤。

参考资料来源:百度百科-C++




温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-20
;stdio.h>
#include <math.h>
void main()
{
float a,b,c,d,x1,x2;
(1)//////////////////////////////d=b*b-4*a*c;
printf("Please Enter 3 Numbers.\n");
(2)/////////////////////////////scanf("%f,%f,%f",a,b,c);
scanf("%f,%f,%f",&a,&b,&c);
d=b*b-4*a*c;
x1=(-b+sqrt(d))/(double)(2*a);
//vc为确保精度,默认的都是double类型。
x2=(-b-sqrt(d))/(double)(2*a);
if(d<0)
printf("该方程无实数解.");
else if(d=0)
printf("x1=%f.",x1);
else
printf("x1=%f.\nx2=%f\n",x1,x2);
}
我用VC6.0,可以运行。不知道对否,楼主再看看。
另外,虚机团上产品团购,超级便宜
第2个回答  2011-04-19
这道题其实很简单的,就只是三个if而已吧,你就根据求根公式编写就行。可能求虚根难点。
这些要求和提示已经很详细了,除非你没学过c语言追问

我不是不懂,是a,b,c,x1,x2,disc=b*b-4*a*c中的disc,还有形参的定义,分别要定义什么型呢、你告诉我下、

追答

全部定义成float或者double型

追问

能否写个程序给我?我是没学过C语言

追答

现在没时间,想学c语言就自己弄吧

本回答被提问者和网友采纳
第3个回答  2011-04-21
应该有公式吧
第4个回答  2011-04-19
同意一楼和二楼
相似回答