Выяснить имеет ли уравнение 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;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д