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

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

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

Всем добрый день. Столкнулся с таким вопросом, а точнее проблемой. Нашел в интернете код для решения квадратного уравнения. Решил узнать алгоритм работы такого кода. Но вот назрел такой вопрос: 1) Как сделать так, если я к примеру напишу в консоль заместо коэффициентов(a,b,c) какой нибудь текст , например "hello world" и т.д., и чтобы в консоли появилась после этого надпись, которая сообщит об ошибке и попросит сделать ввод повторно(снова). 2) И как добавить плюс ко всему этому коду, функцию которая будет вычислять комплексно-сопряженные корни. Буду благодарен любому совету,любой помощи. Спасибо. С уважением.
#include <stdio.h>
#include <math.h>
main()
{
    float a,b,c;
    printf("vvedite a, b, c: ");
    scanf("%f %f %f", &a, &b, &c);
    if(a == 0)
    {
        if(b == 0)
        {
            if(c == 0)
            {
                printf("x - lyboe 4islo");
            }
            else
            {
                printf("kornei net");
            }
        }
        else
        {
            printf ("x = %g", -c/b);
        }
    }
    else
    {
        float d, x1, x2;
        d = b * b - 4 * a * c;
        if(d < 0)
        {
            printf("kornei net");
        }
        else
        {
            if(d == 0)
            {
                printf("x= %g", -b/(2*a));
            }
            else
            {
                printf("x1= %g, x2= %g",(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a));
            }
        }
    }
    return 0;
}
автор исходного кода: www.webnoob.org

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

textual
Листинг программы
if (d<0) {
   Re = -b/(2*a);
   Im = sqrt(-d)/(2*a);
   printf("x1=%g + i%g\n", Re, Im);
   printf("x2=%g - i%g\n", Re, Im);
}

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

  1. В данном коде решается квадратное уравнение вида ax^2 + bx + c = 0
  2. Переменные a, b и c содержат коэффициенты этого уравнения
  3. Переменная d содержит дискриминант уравнения, вычисленный по формуле d = b^2 - 4ac
  4. Если дискриминант отрицательный (d < 0), то уравнение не имеет вещественных корней
  5. В этом случае программа вычисляет комплексные корни уравнения с помощью формул x1 = (-b + sqrt(d))/(2a) и x2 = (-b - sqrt(d))/(2a)
  6. Значения корней сохраняются в переменных Re и Im соответственно
  7. С помощью функции printf() выводятся значения корней на экран
  8. Формат вывода соответствует x1 = real + i imag, где real и imag - вещественная и мнимая части комплексного числа соответственно
  9. Выводится значение первого корня (x1)
  10. Выводится значение второго корня (x2)

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


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

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

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