华科万维C++章节练习3_6

该程序接收用户输入的一元二次方程系数a、b、c,然后判断并计算方程的根。如果a=0,则输出错误提示;如果判别式Δ>0,输出两个不等实根;如果Δ=0,输出唯一实根;如果Δ<0,输出两个复数根,且虚部为正的复数根在前。
摘要由CSDN通过智能技术生成

【程序设计】
---------------------------------------------------------

编写程序,依次输入a、b、c 的值,计算一元二次方程ax^2+bx+c=0的根。
要求:
        在a,b,c输入后
        1)若a=0,输出错误提示 "该方程不是一元二次方程",结束程序;
        2)若△= b*b-4ac>0,输出两个不等的实根
        3)若△=b*b-4ac=0,输出实根
        4)若△=b*b-4ac<0,输出两个复数根

    (虚部为正的复数根在前,另一个在后)

样例:

-16 8 -26
0.25+1.25i      0.25-1.25i
请按任意键继续. . .

代码如下:

#include <iostream>
#include <cmath>
using namespace std; 
int main()
{ 
       
	double a,b,c;
	cin>>a>>b>>c;
	if(a==0)
	{
		cout<<"该方程不是一元二次方程"<<endl;
	}
	else
	{
			if((b*b-4*a*c)>0)
	{
		cout<<(-b+sqrt(b*b-4*a*c))/(2*a)<<"\t"<<(-b-sqrt(b*b-4*a*c))/(2*a)<<endl;
	}
	      else if((b*b-4*a*c)==0)
	{
		cout<<(-b)/(2*a)<<endl;
	}
	     else 
			 cout<<(-b)/(2*a)<<"+"<<(sqrt(abs(b*b-4*a*c)))/abs(2*a)<<"i"<<"\t"<<(-b)/(2*a)<<"-"<<(sqrt(abs(b*b-4*a*c)))/abs(2*a)<<"i"<<endl;
	}
	return 0;

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

季风13

谢谢认可

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值