Решение квадратного уравнения с использованием функций - 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
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д