C++习题(求一元二次方程的根)

这篇博客介绍了如何使用C++编程解决一元二次方程的求根问题,通过代码实现来详细讲解解题步骤。
摘要由CSDN通过智能技术生成

C++习题


题目
用函数实现求一元二次方程a*x^2+b*x+c=0的根,要求二次方程的系数a、b、c分别有键盘输入。
代码实现
#include<iostream>
#include<math.h>

using namespace std;

//打印一元二次方程的根函数
void printlRoots(double a, double b, double c) {
   
	float signal = b *b - 4 * a *c;
	if (signal > 0) {<
C++一元二次方程通常涉及使用公式。一元二次方程的一般形式是 `ax^2 + bx + c = 0`,其中 `a`、`b` 和 `c` 是已知的系数,且 `a ≠ 0`。该方程的公式为: ``` x = (-b ± sqrt(b^2 - 4ac)) / (2a) ``` 据判别式 `Δ = b^2 - 4ac` 的值,可以判断方程的的情况: - 如果 `Δ > 0`,方程有两个不相等的实; - 如果 `Δ = 0`,方程有两个相等的实(重); - 如果 `Δ < 0`,方程没有实,而是有两个共轭复。 下面是一个简单的C++程序,用于一元二次方程: ```cpp #include <iostream> #include <cmath> // 引入cmath库以使用sqrt()函数 using namespace std; int main() { double a, b, c, delta, root1, root2, realPart, imagPart; cout << "请输入一元二次方程系数a, b和c: "; cin >> a >> b >> c; delta = b * b - 4 * a * c; // 计算判别式 // 据判别式的值 if (delta > 0) { // 两个不同的实 root1 = (-b + sqrt(delta)) / (2 * a); root2 = (-b - sqrt(delta)) / (2 * a); cout << "方程有两个不同的实: " << root1 << " 和 " << root2 << endl; } else if (delta == 0) { // 两个相同的实 root1 = root2 = -b / (2 * a); cout << "方程有两个相同的实: " << root1 << endl; } else { // 两个复 realPart = -b / (2 * a); imagPart = sqrt(-delta) / (2 * a); cout << "方程有两个复: " << realPart << "+" << imagPart << "i 和 " << realPart << "-" << imagPart << "i" << endl; } return 0; } ``` 在上述代码中,我们首先从用户那里获取一元二次方程系数 `a`、`b` 和 `c`,然后计算判别式 `delta`。据 `delta` 的值,我们可以判断出方程的的情况,并计算出实或复
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值