// 一元二次方程求根.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
class Equation{
private:
int _a, _b, _c;
public:
Equation(int a, int b, int c){
_b = b;
_a = a;
_c = c;
}
void solve(){
double _d = (_b)*(_b)-4 * (_a)*(_c);
if (_a == 0 && _b == 0 && _c == 0)
{
cout << "5" << endl;
}
else if (_a == 0 && _b == 0 && _c != 0)
{
cout << "4" << endl;
}
else if (_a == 0 && _b != 0)
{
cout << "6" << endl << fixed << setprecision(2) << ((-_c) / (_b)) << endl;
}
else if (_d < 0)
{
cout << "3" << endl;
}
else if (_d == 0)
{
cout << "2" << endl << fixed << setprecision(2) << ((-_b) / (2 * (_a)))<<endl;
}
else if (_d>0)
{
double e = sqrt(_d);
double x1 = (-(_b)+e) / (2 * (_a));
double x2 = (-(_b)-e) / (2 * (_a));
if (x1 < x2)
{
double temp;
temp = x1;
x1 = x2;
x2 = temp;
}
cout << "1" << endl << fixed << setprecision(2) << x2 << " " << fixed << setprecision(2) <<x1 << endl;
}
}
};
int main(){
int a, b, c;
cin >> a >> b >> c;
Equation tmp(a, b, c);
tmp.solve();
}
一元二次方程求根.C4-3
最新推荐文章于 2022-03-30 17:01:49 发布