Вывод дробных корней квадратного уравнения - C (СИ)

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

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

Не выводит дробные числа x1 , x2. На примере этого уравнения 3x^2+7x+2=0 . C целыми числами работает нормально . Подскажите пожалуйста в чем здесь ошибка.
#include "stdio.h"
#include <math.h>
#include <conio.h>
int main()
{   
    float a=0,b=0,c=0,x1,x2,x;
    float d=0,f;
printf("Nahogdenie kornej kvadratnogo uravneniy ");
printf("\nVvedide znachenie a : ");
scanf("%f",&a);
printf("Vvedide znachenie b : ");
scanf("%f",&b);
printf("Vvedide znachenie c : ");
scanf("%f",&c);
d=b*b-4*a*c;
printf("D = %f", d);
f=sqrt(d);
 
if (d>0){
     x1=(-b+f)/2*a;
     x2=(-b-f)/2*a;
    printf("\nKvadratny koren x1 = %f ",x1);
    printf("\nKvadratny koren x2 = %f ",x2); 
    getchar();
}
 
else if (d==0) {
    x=(-b+f)/2*a;
    printf("\nKvadratny koren x = %f", x);
    getchar();
}
 
else { 
    printf("\nNet kornej");
    getchar();
}
  
getchar();
 
    return 0;
}

Решение задачи: «Вывод дробных корней квадратного уравнения»

textual
Листинг программы
 //f=sqrt(d);
 
  if (d>0)
  {
     f=sqrt(d);
     x1=(-b+f)/2*a;
     x2=(-b-f)/2*a;
     printf("\nKvadratny koren x1 = %f ",x1);
     printf("\nKvadratny koren x2 = %f ",x2); 
     getchar();
  }
else if ((d>0) && (d<=1E-8)) 
  {
    x=(-b)/2*a;
    printf("\nKvadratny koren x = %f", x);
    getchar();
  }
else 
{ 
    printf("\nNet kornej");
    getchar();
}

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

  1. Сначала проверяется условие d > 0. Если оно истинно, то выполняется блок кода внутри этого условия.
  2. Внутри блока кода вычисляется f = sqrt(d).
  3. Затем вычисляются x1 = (-b + f) / (2 * a) и x2 = (-b - f) / (2 * a).
  4. Выводятся значения x1 и x2 с помощью функции printf.
  5. Если условие d > 0 не выполняется, то проверяется условие d > 0 && d <= 1E-8.
  6. Если это условие истинно, то вычисляется x = (-b) / (2 * a) и выводится значение x с помощью функции printf.
  7. Если ни одно из условий не выполняется, то выводится сообщение Net kornej с помощью функции printf.

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


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

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

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