用c++程序解答一元二次方程,并且输出相关属性

来源:互联网 发布:矩阵的模怎么计算 编辑:程序博客网 时间:2024/05/22 04:59

1:首先分析一下需求,需要哪些东西

         1、大致需求是根据一元二次方程的几个系数,输进去,然后通过c++计算,得出对应的值

         2、需要写输入的功能,输入功能分别对三个值做一个大致的区分

         3、对系数的等于0,大于0,小于0做区分

         4、输出此函数的开口方向,对称轴,有几个根,根分别是多少,并且输出

         5、根的输出情况,用小数的形式

2:准备工作

         1:一般有3个系数,二次的系数假定为a,一元的系数假定为b,常数假定为c

         2:a>0时候,开口向上。a<0时候,开口向下。

              方程的对称轴为-b/2a

              中间变量需要b平方-4ac,如果b^2-4ac>0 有两个实数根,b^2-4ac=0,一个实数根,b^2-4ac<0 没有实数根

              分别求出两个根的值

3:分析完成后,界定发现这个代码只是数据计算方面,不需要窗口,所以选择控制台

        代码如下:

#include<iostream>using namespace std;int main(){int a,b,c;double m;double n1,n2;double dcz;while(1){cout<<endl<<"======================输入参数=========================="<<endl;//输入代码过程==============cout<<"请输入二次方的系数:";cin>>a;cout<<"请输入一次方的系数:";cin>>b;cout<<"请输入常数:";cin>>c;//数据计算过程==============m=pow(b,2)-4*a*c;dcz=-(double)b/(2*a);n1=(-b+sqrt(m))/(2*a);n2=(-b-sqrt(m))/(2*a);//输出属性cout<<"=======方程属性======"<<endl;if(a>0){cout<<"此方程的曲线为抛物线:开口朝上"<<endl;}if(a==0){cout<<"此方程的曲线为直线:"<<endl;return 0;}if(a<0){cout<<"此方程的曲线为抛物线:开口朝下"<<endl;}cout<<"抛物线的对称轴为:"<<dcz<<endl;if(m>0){cout<<"方程有两个实数根:"<<"n1="<<n1<<'\t'<<"n2"<<n2<<endl;}if(m==0){cout<<"方程有一个实数根"<<"n1=n2="<<n1<<n2;}if(m<0){cout<<"没有实数根"<<endl;}}}


        

0 0
原创粉丝点击