以下是一個(gè)用C語(yǔ)言編寫的一元二次方程求根的例子:
#include <stdio.h>
#include <math.h>
int main() {
double a, b, c;
double discriminant, root1, root2;
printf("請(qǐng)輸入一元二次方程的系數(shù):\n");
printf("a = ");
scanf("%lf", &a);
printf("b = ");
scanf("%lf", &b);
printf("c = ");
scanf("%lf", &c);
discriminant = b * b - 4 * a * c;
if (discriminant > 0) {
root1 = (-b + sqrt(discriminant)) / (2 * a);
root2 = (-b - sqrt(discriminant)) / (2 * a);
printf("方程有兩個(gè)實(shí)根:\n");
printf("根1 = %lf\n", root1);
printf("根2 = %lf\n", root2);
} else if (discriminant == 0) {
root1 = -b / (2 * a);
printf("方程有一個(gè)實(shí)根:\n");
printf("根 = %lf\n", root1);
} else {
double realPart = -b / (2 * a);
double imaginaryPart = sqrt(-discriminant) / (2 * a);
printf("方程有兩個(gè)虛根:\n");
printf("根1 = %lf + %lfi\n", realPart, imaginaryPart);
printf("根2 = %lf - %lfi\n", realPart, imaginaryPart);
}
return 0;
}
這段程序首先要求用戶輸入一元二次方程的系數(shù)a、b和c,然后計(jì)算判別式discriminant。根據(jù)判別式的值,程序判斷方程的根的情況,并輸出結(jié)果。如果判別式大于0,則方程有兩個(gè)實(shí)根;如果判別式等于0,則方程有一個(gè)實(shí)根;如果判別式小于0,則方程有兩個(gè)虛根。