Ошибка в ветвлении 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));
}

Объяснение кода листинга программы

  1. Проверка условия discr==0 - здесь discr это дискриминант квадратного уравнения, а 0 - это его значение при котором ветвление if выполняется.
  2. Если условие истинно (дискриминант равен нулю), то выполняется следующий код: a. Вычисление значения x по формуле x=(-b/(2*a)) - здесь b и a это коэффициенты квадратного уравнения, а x - это его решение.
  3. Если условие ложно (дискриминант не равен нулю), то выполняется код после ветвления else.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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