Ошибка при решении квадратного уравнения - C (СИ)

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

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

Решаю задачу(Решить квадратное уравнение),не выдает результат, в чем ошибка?
#include <stdio.h>
#include <math.h>
#include <conio.h>
float a,b,c,d;
main()
{
  printf("Vvedite a,b,c:\n");
  scanf("%f %f %f",&a,&b,&c);
  d=(b*b-4*a*c);
  printf("%f\n",d);
  if(d>0) printf("%f %f \n",((-b+sqrt(d))/(2*a)),((-b-sqrt(d))/(2*a)));
  if(d=0) printf("%f \n",((-b)/(2*a)));
  if(d<0) printf("Net kornei\n");
  getch();
  return 0;
}

Решение задачи: «Ошибка при решении квадратного уравнения»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
float equation(int a,int b, int c, int x, int X, int D)// создаем функцию
{
    // a*x*x+b*x+c=0;
     D=b*b-4*a*c;
     if(D>0)
    {
    x=(sqrt(D)-b)/2*a;
    printf("x=%f\n", x);
    X=(sqrt(D)-b)/2*a;
    printf("x=%f\n", X);
 
 
          /*printf("(x=-b+sqrt:%.2d)/2*a\n", sqrt(D));
          printf("(x=-b-sqrt:%.2d)/2*a\n", sqrt(D));*/
    }
    if(D==0)
    {
         printf("x="-b/2*a);
    }
    if(D=0)
         printf("Net resheniy");
 
return 0;
}
 
 
 int a,b,c,x,X,D;
 
 
int main()
{
         printf("Enter a\n ");
         scanf("%d",&a);
 
         printf("Enter b\n ");
         scanf("%d",&b);
 
         printf("Enter c\n ");
         scanf("%d",&c);
 
 
         printf("equation: \n", equation(a,b,c,x,X,D));
         return 0;
}

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

  1. Включаем необходимые заголовочные файлы:
    • stdio.h для работы с консолью
    • stdlib.h для работы с операциями ввода/вывода
    • math.h для работы с математическими функциями
  2. Создаем функцию equation с шестью аргументами типа int:
    • a - коэффициент при x^2
    • b - коэффициент при x
    • c - свободный член
    • x - переменная, в которую будет присвоен результат решения уравнения
    • X - зеркальный параметр x, используемый для проверки
    • D - дискриминант
  3. Внутри функции:
    • Вычисляем дискриминант по формуле D=b*b-4*a*c
    • Проверяем значение D:
      • Если D>0, то уравнение имеет два корня
      • Если D=0, то уравнение имеет один корень (корни равны)
      • Если D<0, то уравнение не имеет действительных корней
  4. Если D>0:
    • Вычисляем корни по формулам x=(sqrt(D)-b)/2*a и X=(sqrt(D)-b)/2*a
    • Выводим значения корней на экран
  5. Если D=0:
    • Выводим значение корня на экран
  6. Если D<0:
    • Выводим сообщение о том, что уравнение не имеет действительных корней
  7. В функции main():
    • Запрашиваем у пользователя значения a, b и c
    • Вызываем функцию equation с переданными значениями
    • Выводим результат работы функции на экран
  8. Возвращаем 0 из функции main():
    • Это означает успешный конец работы программы

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


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

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

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