Ошибка в ветвлении if else - C (СИ)
Формулировка задачи:
Здравствуйте , не судите строго с компилятором недавно познакомился
может кто подсказать , в чем напортачил ?
#include <stdio.h> #include <math.h> #include <conio.h> int main() { double a, b, c, x, x1, x2; printf("Input a: "); scanf("%1f", &a); printf("Input b: "); scanf("%1f", &b); printf("Input c: "); scanf("%.1f", &c); double discr=(b*b-4*a*c); if(discr>0) { x1=(-b+sqrt(discr))/(2*a); x2=(-b-sqrt(discr))/(2*a); printf("%1f - %1f", x1, x2); }else { if(discr==0); x=(-b/(2*a)); printf("x: %.2lf\n", x); }if(discr<0){ printf("No real roots"); } _getch(); return 0; }
Решение задачи: «Ошибка в ветвлении if else»
textual
Листинг программы
if(discr==0){ x=(-b/(2*a)); }
Объяснение кода листинга программы
- Проверка условия
discr==0
- здесьdiscr
это дискриминант квадратного уравнения, а0
- это его значение при котором ветвление if выполняется. - Если условие истинно (дискриминант равен нулю), то выполняется следующий код:
a. Вычисление значения
x
по формулеx=(-b/(2*a))
- здесьb
иa
это коэффициенты квадратного уравнения, аx
- это его решение. - Если условие ложно (дискриминант не равен нулю), то выполняется код после ветвления else.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д