文章

84

粉丝

408

获赞

31

访问

831.6k

头像
一元二次方程(c++)

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
class equation{
private:
	int a, b, c;
public:
	equation(){}
	equation(int aa, int bb, int cc):a(aa), b(bb), c(cc){}
	~equation(){}
	void solve();
};
void equation::solve()
{
	if (a == 0) {
		if (b == 0) {
			cout << "-1" << endl;
		}
		else {
			double x = -1.0*c/b;
			printf("x=%.2f\n", x);
		}
	}
	else {
		double delt = b*b - 4*a*c;
		if (delt < 0) {
			cout << "-1" << endl;
		}
		else if (delt == 0) {
			double x = -1.0*b/(2.0*a);
			printf("x=%.2f\n", x);
		}
		else {
			double x1 = (-1.0*b-sqrt(delt))/(2.0*a);
			double x2 = (-1.0*b+sqrt(delt))/(2.0*a);
			printf("x1=%.2f,x2=%.2f\n", x1, x2);
		}
	}
}
int main()
{
	int m;
	cin >> m;
	while(m--) {
		int a, b, c;
		cin >> a >> b >> c;
		equation e(a, b, c);
		e.solve();
	}
	return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发