/*
* 程序的版权和版本声明部分
* Copyright (c)2012, 烟台大学计算机学院学生
* All rightsreserved.
* 文件名称: x.cpp
* 作者:徐本锡
* 完成日期: 2013年 6 月 14 日
* 版本号: v1.0
* 输入描述:
* 问题描述:
例13.1 求解1元2次方程
* 程序输出:
*/
//我的代码:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
float a,b,c,disc;
cout<<"please input a,b,c:";
cin>>a>>b>>c;
if (a==0)
cerr<<"a is equal to zero,error!"<<endl;//a等于0的时候,表示不是2次方程
else if ((disc=b*b-4*a*c)<0)//.....................判断是否有实根,大于0 则有时跟,小于零则没有实根
cerr<<"disc=b*b-4*a*c<0"<<endl;
else
{
if(b==0&&c==0)//.........................不加此处判断当输入b=c=0的时候,输出会有x2=-0
cout<<"x1=0"<<endl<<"x2=0";
else
{
cout<<"x1="<<(-b+sqrt(disc))/(2*a)<<endl;
cout<<"x2="<<(-b-sqrt(disc))/(2*a)<<endl;
}
}
return 0;
}
如果没有那个判断,当输入b=0,c=0的时候,输出会有x1=0,x2=-0