c++一元二次方程利用值传参
时间: 2024-09-06 21:01:05 浏览: 38
在C++中,要解决一元二次方程并利用值传递参数,可以参考以下代码片段[^1]:
```cpp
#include <iostream>
#include <cmath>
#include <string>
#include <cstring>
#define N 100
using namespace std;
// 函数声明,接受a, b, c作为参数并返回解
void solveQuadratic(int a, int b, int c, double& x1, double& x2);
int main(){
int a, b, c;
double res1, res2;
// 输入系数
cin >> a >> b >> c;
// 调用函数计算解
solveQuadratic(a, b, c, res1, res2);
// 输出解
printf("The solutions are %.2f and %.2f\n", res1, res2);
return 0;
}
// 定义求解函数
void solveQuadratic(int a, int b, int c, double& x1, double& x2){
double delta = pow(b, 2) - 4 * a * c;
if(delta == 0){
x1 = (-b + sqrt(delta)) / (2 * a);
x2 = x1; // 因为对于重根,x1和x2相同
}
else{
x1 = (-b + sqrt(delta)) / (2 * a);
x2 = (-b - sqrt(delta)) / (2 * a);
}
}
```
这段代码定义了一个`solveQuadratic`函数,该函数接受三个系数`a`, `b`, 和 `c`,以及两个双精度浮点数引用`x1`和`x2`。函数内部通过值传递更新这些引用,从而得到方程的解。
至于其他相关问题:
阅读全文