C++练习之 求方程ax²-bx+c=0的解。
2012-12-04 15:44
489 查看
求方程ax²-bx+c=0的解,此题我将a,b,c与△(b²-4ac)设置成全局变量。
然后根据△与0关系调用不同函数。
当然也可以将大于0与等于0合成一个。
#include <iostream>
#include <cmath>
using namespace std;
double a,b,c,k;
void answer1();
void answer2();
void answer3();
int main()
{
cout<<"请输入a,b,c的值:";
cin>>a>>b>>c;
k=b*b-4*a*c;
if(k<0)
answer1();
else if(k==0)
answer2();
else
answer3();
return 0;
}
void answer1()
{
cout<<"此方程无解。"<<endl;
}
void answer2()
{
double m;
m=(-b)/(2*a);
cout<<"此方程根为:"<<m<<endl;
}
void answer3()
{
double x,y;
x=(-b+sqrt(k))/(2*a);
y=(-b-sqrt(k))/(2*a);
cout<<"此方程根为:"<<x<<"和"<<y<<endl;
}
然后根据△与0关系调用不同函数。
当然也可以将大于0与等于0合成一个。
#include <iostream>
#include <cmath>
using namespace std;
double a,b,c,k;
void answer1();
void answer2();
void answer3();
int main()
{
cout<<"请输入a,b,c的值:";
cin>>a>>b>>c;
k=b*b-4*a*c;
if(k<0)
answer1();
else if(k==0)
answer2();
else
answer3();
return 0;
}
void answer1()
{
cout<<"此方程无解。"<<endl;
}
void answer2()
{
double m;
m=(-b)/(2*a);
cout<<"此方程根为:"<<m<<endl;
}
void answer3()
{
double x,y;
x=(-b+sqrt(k))/(2*a);
y=(-b-sqrt(k))/(2*a);
cout<<"此方程根为:"<<x<<"和"<<y<<endl;
}
相关文章推荐
- 编程求一元二次方程ax2+bx+c=0的根
- 编程求一元二次方程ax2+bx+c=0的根
- 求一元二次方程ax^2+bx+c=0的根
- 根据三个点(x1,y1)、(x2,y2)、(x3,y3),确定方程y=aX^2 + bX + c,带入X求得Y
- 【C语言】求方程ax^2+bx+c=0的根
- 求一元二次方程ax²+bx+c=0
- 求方程ax^2+bx+c=0的根(函数)
- 求一元二次方程ax2+bx+c=0的根。其中系数a(a≠0)、b、c的值由键盘输入
- 求ax^2+bx+c=0的方程的解
- 求一元二次方程ax2+bx+c=0的根
- 求一元二次方程ax^2+bx+c=0的根
- 39.输入任意的a,b,c求一元二次方程ax*x+bx+c=0的根
- 输入任意abc的值,求方程ax^2+bx+c=0的根
- c++方程的解数
- C++ primer plus(sixth edition) 编程练习答案(answers for programing exercises)第七章(chapter 7) 1-5
- c++ primer plus(第6版)中文版 第九章编程练习答案
- 蓝桥杯练习系统习题解答大全(c/c++、java完整版)
- C++程序设计语言练习4.2 茴字的几种写法
- 利用汇编语言编程实现通过堆栈交换ax,bx的大小
- 【LeetCode231算法/编程练习C++】--判断是否是2的整数次幂 //按位与&的用处