Ошибка при решении квадратного уравнения - C (СИ)
Формулировка задачи:
Решаю задачу(Решить квадратное уравнение),не выдает результат, в чем ошибка?
#include <stdio.h> #include <math.h> #include <conio.h> float a,b,c,d; main() { printf("Vvedite a,b,c:\n"); scanf("%f %f %f",&a,&b,&c); d=(b*b-4*a*c); printf("%f\n",d); if(d>0) printf("%f %f \n",((-b+sqrt(d))/(2*a)),((-b-sqrt(d))/(2*a))); if(d=0) printf("%f \n",((-b)/(2*a))); if(d<0) printf("Net kornei\n"); getch(); return 0; }
Решение задачи: «Ошибка при решении квадратного уравнения»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <math.h> float equation(int a,int b, int c, int x, int X, int D)// создаем функцию { // a*x*x+b*x+c=0; D=b*b-4*a*c; if(D>0) { x=(sqrt(D)-b)/2*a; printf("x=%f\n", x); X=(sqrt(D)-b)/2*a; printf("x=%f\n", X); /*printf("(x=-b+sqrt:%.2d)/2*a\n", sqrt(D)); printf("(x=-b-sqrt:%.2d)/2*a\n", sqrt(D));*/ } if(D==0) { printf("x="-b/2*a); } if(D=0) printf("Net resheniy"); return 0; } int a,b,c,x,X,D; int main() { printf("Enter a\n "); scanf("%d",&a); printf("Enter b\n "); scanf("%d",&b); printf("Enter c\n "); scanf("%d",&c); printf("equation: \n", equation(a,b,c,x,X,D)); return 0; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы:
stdio.h
для работы с консольюstdlib.h
для работы с операциями ввода/выводаmath.h
для работы с математическими функциями
- Создаем функцию
equation
с шестью аргументами типаint
:a
- коэффициент приx^2
b
- коэффициент приx
c
- свободный членx
- переменная, в которую будет присвоен результат решения уравненияX
- зеркальный параметрx
, используемый для проверкиD
- дискриминант
- Внутри функции:
- Вычисляем дискриминант по формуле
D=b*b-4*a*c
- Проверяем значение
D
:- Если
D>0
, то уравнение имеет два корня - Если
D=0
, то уравнение имеет один корень (корни равны) - Если
D<0
, то уравнение не имеет действительных корней
- Если
- Вычисляем дискриминант по формуле
- Если D>0:
- Вычисляем корни по формулам
x=(sqrt(D)-b)/2*a
иX=(sqrt(D)-b)/2*a
- Выводим значения корней на экран
- Вычисляем корни по формулам
- Если D=0:
- Выводим значение корня на экран
- Если D<0:
- Выводим сообщение о том, что уравнение не имеет действительных корней
- В функции main():
- Запрашиваем у пользователя значения
a
,b
иc
- Вызываем функцию
equation
с переданными значениями - Выводим результат работы функции на экран
- Запрашиваем у пользователя значения
- Возвращаем 0 из функции main():
- Это означает успешный конец работы программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д