编程求解一元二次方程,并实现让用户多次输出

编程求解一元二次方程:请你编写一个程序,使其能求出多个二次方程的根。该程序要询问用户是否想继续解下一个方程。用户输入1来继续,输入其它数字,则终止程序。程序要求用户输入a,b和c

一元二次方程的定义为:ax^2+bx+c=0

显然最开始要对它进行一个判断是否存在实根,写一个函数,用一个if便可轻易实现:if ((b*b - 4 * a*c) >= 0)

如果成立输出两个实根即可,根号的符号为sqrt()>>两个实根分别为:(((-b) + (sqrt(b*b - 4 * a*c))) / (2 * a)),(((-b) - (sqrt(b*b - 4 * a*c))) / (2 * a))

如果不成立直接cout<<"错误"<<endl;就好

接下来,要求用户多次输入数据(如果为1的话)及需要写一个递归,在函数里再加上一个if进行判断用户最后输入的数是否为1即可,如果为1:就让用户接着输入数据,并调用这个函数自身进行实根判断,输出,如此循环便可达到题目要求。

直接上代码:

#include "pch.h"
#include <iostream>
using namespace std;
void funA(double a, double b, double c, int d)
{
	if ((b*b - 4 * a*c) >= 0)
		cout<<"结果为:" << (((-b) + (sqrt(b*b - 4 * a*c))) / (2 * a)) << "  " << (((-b) - (sqrt(b*b - 4 * a*c))) / (2 * a)) << endl;
	else
		cout << "错误" << endl;
	if (d == 1)
	{
		cout << "please cin four number:" << endl,
			cin >> a >> b >> c >> d,
			cout<<"结果为:",
			funA(a, b, c, d),
			cout << endl;
	}
	else cout << "surprise motherfuck!" << endl;
	
}
int main()
{
	double a, b, c;
	int d;
	cout << "please cin four number as‘double, double, double, int’:" << endl;
	cin >> a >> b >> c >> d;
	funA(a, b, c, d);
	cout << endl;
	return 0;
}

 

 

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值