Я новичок в этих вещах, я должен сделать квадратное уравнение для школы

Я должен сделать квадратное уравнение в Microsoft Visual Studio.

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
    float a, b, c, D, x1, x2;
    printf("Type in a :\n");
    scanf_s("%d", &a);
    if (a == 0)
    {
        printf("The equation is not quadratic");
    }
    else
    {
        printf("Type in b:\n");
        scanf_s("%d", &b);
        printf("Type in c:\n");
        scanf_s("%d", &c);
        D = b*b - 4 * a*c;
        if (D < 0)
        {
            printf("There are no real roots");
        }
        else if (D == 0)
        {
            x1 = x2 = -b / (2 * a);
        }
        else
        {
            x1 = (-b + powf(D, 0.5)) / (2 * a);
            x2 = (-b - powf(D, 0.5)) / (2 * a);
        }
    }
    system("pause");
    return 0;
}

Это то, что я сделал до сих пор. Можете ли вы сказать мне, где моя ошибка? Студия не находит никаких ошибок, но есть проблема - после запуска программы я набираю a, b и c и после этого она говорит: "Нажмите любую клавишу, чтобы продолжить", и когда я это делаю, окно консоли исчезает. Пожалуйста, помогите

1 ответ

Решение

Вы не печатаете ответ.,, для каждого случая (реальные корни или нет) вам нужно добавить printf для печати рассчитанных значений x1 и x2.

Строка "пауза" - это строка, которая заставляет "нажать любую клавишу для продолжения...", поэтому ваша программа достигает этой точки без ошибок.

Другие вопросы по тегам