Выяснить имеет ли уравнение ax^2+bx+c=0 действительные корни - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Даны действительные числа a,b,с (a!=0) Выяснить имеет ли уравнение ax^2+bx+c=0 действительные корни. Если действительные кони есть, то найти их. В противном случае ответом должно служить что корней нет. Помогите пожалуйста!

Решение задачи: «Выяснить имеет ли уравнение ax^2+bx+c=0 действительные корни»

textual
Листинг программы
#include <stdio.h>
#include <math.h>
 
//-----------------------------------------------------------------------------
int GetX(float a, float b, float c,
         float* x1, float* x2) {
 
    float d = pow(b, 2) - 4 * a * c;
 
    if (d < 0) {
        return 0;
    }
 
    *x1 = (-b + sqrt(d)) / (2 * a);
    *x2 = (-b - sqrt(d)) / (2 * a);
 
    return 1;
}
//-----------------------------------------------------------------------------
 
int main() {
    float a, b, c;
    float x1, x2;
 
    printf("a, b, c: ");
 
    if ((scanf("%f%f%f", &a, &b, &c) != 3) || (a == 0)) {
        return 1;
    }
 
    if (GetX(a, b, c, &x1, &x2)) {
        printf("x1 = %.2f, x2 = %.2f\n", x1, x2);
    }
    else {
        printf("complex values\n");
    }
 
    return 0;
}

Оцени полезность:

5   голосов , оценка 4.2 из 5
Похожие ответы