Cプログラミングで二次方程式の解を求める。

C言語を使って1次方程式を解く例です。

#include <stdio.h>
#include <math.h>

int main() {
    double a, b, c;
    double discriminant, root1, root2;
    
    printf("请输入一元二次方程的系数:\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("方程有两个实根:\n");
        printf("根1 = %lf\n", root1);
        printf("根2 = %lf\n", root2);
    } else if (discriminant == 0) {
        root1 = -b / (2 * a);
        printf("方程有一个实根:\n");
        printf("根 = %lf\n", root1);
    } else {
        double realPart = -b / (2 * a);
        double imaginaryPart = sqrt(-discriminant) / (2 * a);
        printf("方程有两个虚根:\n");
        printf("根1 = %lf + %lfi\n", realPart, imaginaryPart);
        printf("根2 = %lf - %lfi\n", realPart, imaginaryPart);
    }
    
    return 0;
}

このプログラムは、まずユーザーに一次二次方程式の係数a、b、cを入力してもらい、それから判別式を計算します。判別式の値に基づいて、方程式の根の状況を判断し、結果を出力します。判別式が0より大きい場合、方程式には2つの実根があります。判別式が0の場合、方程式には1つの実根があります。判別式が0より小さい場合、方程式には2つの虚根があります。

bannerAds