题目显示部分正确。
题目的样例输入是正确的。
已要求了输入会保证有解,且为一元二次方程

关注【以下回答由 GPT 生成】
问题描述
我想在C语言中编写一个函数来求解一元二次方程。你可以指导我如何编写这个函数吗?
问题标签
C语言,函数编写,一元二次方程,代码实现
解决方案
首先,我们需要知道一元二次方程的一般形式为ax^2 + bx + c = 0,其中a、b、c为常数,且a不为0。我们的目标是求出方程的根。
根据一元二次方程的求解公式,我们可以得到方程的两个根为:x = (-b ± √(b^2 - 4ac)) / (2a)。
接下来,我们可以按照以下步骤来编写求解一元二次方程的函数:
solve_quadratic_equation,接受三个参数:a、b、c。sqrt()函数,它位于math.h头文件中。下面是代码示例:
#include <stdio.h>
#include <math.h>
void solve_quadratic_equation(double a, double b, double c) {
if (a == 0) {
printf("Error: Not a quadratic equation\n");
return;
}
double delta = b * b - 4 * a * c;
if (delta < 0) {
printf("No real roots\n");
} else if (delta == 0) {
double root = -b / (2 * a);
printf("Root: %lf\n", root);
} else {
double root1 = (-b + sqrt(delta)) / (2 * a);
double root2 = (-b - sqrt(delta)) / (2 * a);
printf("Roots: %lf, %lf\n", root1, root2);
}
}
int main() {
double a, b, c;
printf("Please enter the coefficients of the quadratic equation: ");
scanf("%lf %lf %lf", &a, &b, &c);
solve_quadratic_equation(a, b, c);
return 0;
}
这个程序会首先要求用户输入一元二次方程的系数a、b、c,然后调用solve_quadratic_equation函数来求解并输出结果。
注意,上述代码中我们假设输入的系数都是合法的,未进行输入验证。如果需要在实际应用中使用,请考虑添加合适的输入验证和错误处理逻辑。
【相关推荐】