方程求根!

来源:互联网 发布:磨刀机数控软件破解 编辑:程序博客网 时间:2024/04/30 07:26
Description

求解一元二次方程ax2+bx+c=0(a!=0)的实根。从键盘输入a,b,c的值,输出方程的实根

Input
Output

Sample Input

1 2 12 5 61 8 20 0 5

Sample Output

x1=-1,x2=-1no rootx1=-0.258343,x2= -7.74166a=0,error

 

#include<iostream>
#include<cmath>
using  namespace std;
int main()
{
   float a,b,c,v,x1,x2;
   
  while(cin>>a>>b>>c)
   {
   v=b*b-4*a*c;
   if(a==0)
    {
    cout<<"a=0,error"<<endl;
    }
   else  if(v==0)
    {
       x1=x2=(-b)/(2*a);
    cout<<"x1="<<x1<<","<<"x2="<<x2<<endl;
    }
   else  if(v>0)
    {
       x1=(-b+sqrt(v))/2*a;
    x2=(-b-sqrt(v))/2*a;
   cout<<"x1="<<x1<<","<<"x2="<<x2<<endl;         
    }
     else if(v<0)
    {
       cout<<"noroot"<<endl;
    }
   
   }
       
  
   

0 0