PTA习题

该博客介绍如何编程解决一元二次方程,包括一元一次特殊情况的处理和一元二次方程的解法,涉及判别式判断解的情况及输出不同解的形式。

7-8 解一元二次方程 (14 分)

请编写程序,解一元一次方程 ax²+bx+c=0 。

已知一元二次方程的求根公式为:

要求:

(1) 若 a=0,则为一元一次方程。

  • 若 b!=0,则方程有唯一解,输出这个解;
  • 若 b=0,c!=0,则方程无解,输出“无解”;
  • 若 b=0,c=0,则方程有无穷多解,输出“无穷多解”。

(2) 若 a!=0,则为一元二次方程。

  • 若 Δ>0,则方程有两个不等的实根,输出这两个根;
  • 若 Δ=0,则方程有两个相等的实根,输出这两个根;
  • 若 Δ<0,则方程有两个共轭的虚根,输出这两个根
    //宏定义EPS为了解决精度问题
    #define EPS 0.000001
    #include<iostream>
    #include<iomanip>
    #include<cmath>
    int main(void)
    {
    	float a, b, c;
    	std::cin >> a >> b >> c;
    	std::cout << std::setprecision(6);
    	if (a <= EPS && a >= -EPS)//a为0,解一次方程
    	{
    		if (b != 0)
    		{
    			if (c >= -EPS && c <= EPS)
    				std::cout << "x = " << "0";
    			else
    				std::cout << "x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值