c语言计算一元二次变式方程的解
时间: 2024-10-08 10:15:42 浏览: 53
C语言 - 计算一元二次方程的根.zip
在C语言中,要计算一元二次方程的解,你可以使用公式 `x = [-b ± sqrt(b² - 4ac)] / (2a)`,其中`a`, `b`, 和 `c` 分别是一元二次方程 `ax² + bx + c = 0` 的系数。这里我们可以通过编写一个函数来实现。首先需要包含一些头文件并声明一个辅助函数来计算平方根。
```c
#include <stdio.h>
#include <math.h> // 包含sqrt函数
// 计算平方根
double sqrt_helper(double num) {
return sqrt(num);
}
// 计算一元二次方程的解
void quadratic_solution(double a, double b, double c) {
double discriminant = b * b - 4 * a * c;
if (discriminant > 0) {
double root1 = (-b + sqrt_helper(discriminant)) / (2 * a);
double root2 = (-b - sqrt_helper(discriminant)) / (2 * a);
printf("有两个实数解: x1 = %.2lf, x2 = %.2lf\n", root1, root2);
} else if (discriminant == 0) {
double root = -b / (2 * a);
printf("有一个实数解: x = %.2lf\n", root);
} else { // 虚数解
double real_part = -b / (2 * a);
double imaginary_part = sqrt(-discriminant) / (2 * a);
printf("无实数解, 解为复数: x = %.2lf + %.2lfi\n", real_part, imaginary_part);
}
}
int main() {
double a, b, c;
printf("请输入一元二次方程的系数 a, b, c: ");
scanf("%lf %lf %lf", &a, &b, &c);
if (a != 0) { // 防止分母为零
quadratic_solution(a, b, c);
} else {
printf("a不能为0,无法计算。\n");
}
return 0;
}
阅读全文