解一元二次方程C语言
时间: 2023-10-13 09:06:07 浏览: 87
要用C语言解一元二次方程,需要先判断该方程是否为一元二次方程,然后再使用求根公式法进行求解。判断该方程是否为一元二次方程,可以通过判断a是否等于0来实现。如果a等于0,则该方程不是一元二次方程;否则,根据判别式的值来判断方程有几个根。最后,使用求根公式对方程进行求解。以下是一个求解一元二次方程的C语言程序:
#include <stdio.h>
#include <math.h>
int main() {
float a, b, c, x1, x2, d;
printf("输入方程的三个系数:");
scanf("%f %f %f", &a, &b, &c);
if (a != 0) {
d = sqrt(b * b - 4 * a * c);
x1 = (-b + d) / (2 * a);
x2 = (-b - d) / (2 * a);
if (x1 < x2)
printf("%0.2f %0.2f\n", x2, x1);
else
printf("%0.2f %0.2f\n", x1, x2);
} else {
printf("此方程不是一元二次方程\n");
}
return 0;
}
相关问题
解一元二次方程。C语言
以下是一个解一元二次方程的C语言程序:
#include <stdio.h>
#include <math.h>
int main()
{
float a, b, c, x1, x2, discriminant, realPart, imaginaryPart;
printf("Enter coefficients a, b and c: ");
scanf("%f %f %f", &a, &b, &c);
discriminant = b*b - 4*a*c;
// Real and Different Roots
if (discriminant > 0)
{
x1 = (-b + sqrt(discriminant)) / (2*a);
x2 = (-b - sqrt(discriminant)) / (2*a);
printf("Roots are %.2f and %.2f", x1, x2);
}
// Real and Equal Roots
else if (discriminant == 0)
{
x1 = (-b + sqrt(discriminant)) / (2*a);
printf("Roots are %.2f and %.2f", x1, x1);
}
// Imaginary Roots
else
{
realPart = -b/(2*a);
imaginaryPart = sqrt(-discriminant)/(2*a);
printf("Roots are %.2f+%.2fi and %.2f-%.2fi", realPart, imaginaryPart, realPart, imaginaryPart);
}
return 0;
}
在程序中,用户输入方程的系数a、b和c。程序计算判别式并根据其值确定方程的根的类型。如果判别式大于0,则有两个不同的实数根。如果判别式等于0,则有两个相等的实数根。如果判别式小于0,则有两个共轭复数根。程序输出根的类型和值。
解一元二次方程的c语言代码
答:下面是一个用c语言解一元二次方程的简单代码:
#include<stdio.h>
int main(){
float a, b, c, x1, x2;
printf("请输入一元二次方程的系数a, b, c:\n");
scanf("%f %f %f", &a, &b, &c);
float delta = b * b - 4 * a * c;
if (delta > 0) {
x1 = (-b + sqrt(delta)) / (2 * a);
x2 = (-b - sqrt(delta)) / (2 * a);
printf("方程的两个不同的解为:x1=%f, x2=%f\n", x1, x2);
} else if (delta == 0) {
x1 = x2 = -b / (2 * a);
printf("方程的两个相同的解为:x1=x2=%f\n", x1);
} else {
printf("方程无解\n");
}
return 0;
}