Решить квадратное уравнение

Найти корни квадратного уравнения и вывести их на экран, если они есть. Если корней нет, то вывести сообщение об этом. Конкретное квадратное уравнение определяется коэффициентами a, b, c, которые вводит пользователь.

Квадратное уравнение имеет вид ax2 + bx + c = 0. Коэффициенты a, b и c - это конкретные числа, а x надо найти, решив уравнение.

  1. Вычислить дискриминант по формуле d = b2 - 4ac.
  2. Если дискриминант больше нуля, то вычислить два корня уравнения:
    x1 = (-b+√d) / 2a
    x2 = (-b-√d) / 2a
  3. Если дискриминант равен нулю, то вычислить только один корень (второй будет равен ему).
  4. Если дискриминант отрицателен, то вывести сообщение, что корней нет.
var
    a,b,c,d,x1,x2: real;
begin
    write('a='); readln(a);
    write('b='); readln(b);
    write('c='); readln(c);
    d := b*b - 4*a*c;
    if d > 0 then begin
        x1 := (-b + sqrt(d)) / (2*a);
        x2 := (-b - sqrt(d)) / (2*a);
        writeln('x1=',x1:3:2,'; x2=',x2:3:2);
    end
    else
        if d = 0 then begin
            x1 := (-b) / (2*a);
            writeln('x=',x1:5:2);
        end
        else
            writeln('Корней нет');
end.
a=7
b=1
c=-6
x1=0.86; x2=-1.00
#include <stdio.h>
#include <math.h>
 
main() {
    float a,b,c,d,x1,x2;
    printf("a="); scanf("%f",&a);
    printf("b="); scanf("%f",&b);
    printf("c="); scanf("%f",&c);
    d = b*b - 4*a*c;
    if (d>0) {
        x1 = (-b + sqrt(d)) / (2*a);
        x2 = (-b - sqrt(d)) / (2*a);
        printf("x1=%.2f; x2=%.2f", x1, x2);
    }
    else
        if (d = 0) {
            x1 = -b / (2*a);
            printf("x1=%.2f; x2=%.2f", x1, x2);
        }
        else printf("Корней нет.");
    printf("\n");
}
a=-20
b=8
c=1.5
x1=-0.14; x2=0.54

Ключ -lm при компиляции gcc.

print("Введите коэффициенты для квадратного уравнения (ax^2 + bx + c = 0):")
a = float(input("a = "))
b = float(input("b = "))
c = float(input("c = "))
 
discr = b**2 - 4 * a * c;
print("Дискриминант D = %.2f" % discr)
if discr > 0:
        import math
        x1 = (-b + math.sqrt(discr)) / (2 * a)
        x2 = (-b - math.sqrt(discr)) / (2 * a)
        print("x1 = %.2f \nx2 = %.2f" % (x1, x2))
elif discr == 0:
        x = -b / (2 * a)
        print("x = %.2f" % x)
else:
        print("Корней нет")
алг квадратное уравнение
нач
  вещ a, b, c, D, x1, x2
  ввод a
  ввод b
  ввод c
  D := b**2 - 4*a*c
  вывод "D = ", D, нс
  если D > 0 то
    x1 := (-b + sqrt(D)) / (2 * a)
    x2 := (-b - sqrt(D)) / (2 * a)
    вывод "x1 = ", x1, нс
    вывод "x2 = ", x2, нс
   иначе
    если D = 0 то
      x1 := -b / (2 * a)
      вывод "x = ", x1, нс
     иначе
      вывод "корней нет", нс
    все
  все
кон
input "a = ", a
input "b = ", b
input "c = ", c
d = b^2 - 4*a*c
 
decimal 3
 
if d > 0 then
        x1 = (-b + sqrt(d)) / (2*a)
        x2 = (-b - sqrt(d)) / (2*a)
        print "x1 = " + x1 + ", x2 = " + x2
else
        if d = 0 then
                x = -b  / (2*a)
                print "x = " + x
        else
                print "Корней нет"
        endif
endif

Команда decimal указывает сколько знаков после запятой следует выводить.