Решение квадратного уравнения с использованием функций - C (СИ)
Формулировка задачи:
Задачка:
найти решение квадратного уравнения, используя 3 функции: 1-ая печатает уравнение, 2-ая считает дискриминант, 3-я выводит корни уравнения.
Я в принципе всё написала, но компилятор жалуется на 49-50 строки из-за корня, кажется и с типами всё нормально, но что-то не идёт. Помогииите пожааалуйста
Листинг программы
- #include <stdio.h>
- #include <conio.h>
- #include <locale.h>
- #include <math.h>
- void ur(float,float,float);
- float disc(float,float,float);
- void korni(float,float,float);
- int main ()
- {
- float a,b,c,d;
- setlocale(LC_ALL,"russian");
- printf("Введите коэффициент a \n");
- scanf_s("%f",&a);
- printf("Введите коэффициент b \n");
- scanf_s("%f",&b);
- printf("Введите коэффициент c \n");
- scanf_s("%f",&c);
- ur(a,b,c);
- d=disc(a,b,c);
- printf("%.2f\n",d);
- korni(a,b,c);
- _getch();
- return 0;
- }
- void ur(float a,float b,float c)
- {
- printf("y=(%.2f)x^2+(%.2f)x+(%.2f)\n",a,b,c);
- }
- float disc (float a,float b,float c)
- {
- float disc;
- disc=b*b-4*a*c;
- return disc;
- }
- void korni(float a,float b,float c)
- {
- float x1,x2;
- if (disc==0)
- {
- x1=-b/2*a;
- printf("x1=%.2f\n",x1);
- }
- if (disc>0)
- {
- x1=(-b+sqrt(disc))/2*a;
- x2=(-b-sqrt(disc))/2*a;
- printf("x1=%.2f, x2=%.2f",x1,x2);
- }
- else
- printf("Корней нет!");
- }
Решение задачи: «Решение квадратного уравнения с использованием функций»
textual
Листинг программы
- void korni(float a,float b,float c)
- {
- float d = disc(a, b, c);
- float x1,x2;
- if (d==0)
- {
- x1=-b/2*a;
- printf("x1=%.2f\n",x1);
- }
- if (d>0)
- {
- x1=(-b+sqrt(d))/2*a;
- x2=(-b-sqrt(d))/2*a;
- printf("x1=%.2f, x2=%.2f",x1,x2);
- }
- else
- printf("Корней нет!");
- }
Объяснение кода листинга программы
- В функции
korni
передаются три аргумента типаfloat
:a
,b
иc
. Эти переменные используются для представления коэффициентов квадратного уравнения видаax^2 + bx + c = 0
. - Внутри функции определяется переменная
d
с помощью функцииdisc(a, b, c)
. Эта переменная представляет собой дискриминант квадратного уравнения. - Если
d
равно нулю, то уравнение имеет один корень, и этот корень вычисляется и присваивается переменнойx1
. Затем значениеx1
выводится на экран с помощью функцииprintf
. - Если
d
больше нуля, то уравнение имеет два корня. Они вычисляются с помощью формулыx1 = (-b + sqrt(d))/2*a
иx2 = (-b - sqrt(d))/2*a
. Затем значенияx1
иx2
выводятся на экран с помощью функцииprintf
. - Если
d
меньше или равно нулю, то выводится сообщениеКорней нет!
с помощью функцииprintf
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д