Нахождение корней квадратного трехчлена - C (СИ)
Формулировка задачи:
Помогите найти ошибки. Хотел написать программу для нахождения корней квадратного трехчлена, но возникли трудности....
#include<stdio.h> #include<math.h> main() { printf("Vvedite a:\n"); double a,b,c; scanf("%lf",&a); printf("Vvedite b:\n"); scanf("%lf",&b); printf("Vvedite c:\n"); scanf("%lf",&c); double d,x1,x2; d=sqrt(b*b-4*a*c); if(d<0) printf("Korney net!\n"); if(d>0) { x1=(-b-d)/2*a; x2=(-b+d)/a*2; printf("Korny: %f\t%f",x1,x2); } if(d=0) { x1=(-b/2*a); printf("Koren: %f",x1); } }
Решение задачи: «Нахождение корней квадратного трехчлена»
textual
Листинг программы
d = b * b - 4.0 * a * c; if( d < 0.0 ) { puts("No solutions!"); } else { x1 = x2 = 0.5 / a; b = -b; x1 *= b - d; x2 *= b + d; printf("Solution 1: %f\nSolution 2: %f\n", x1, x2); }
Объяснение кода листинга программы
- Начинается с проверки дискриминанта
d
(сначала приведенного к типуdouble
, так как это более точное представление действительного числа, чемint
). Еслиd
меньше нуля, то выводится сообщениеNo solutions!
и код завершается. - Если
d
больше или равно нулю, то находятся корниx1
иx2
с помощью формулыx1 = (-b + sqrt(d)) / (2*a)
иx2 = (-b - sqrt(d)) / (2*a)
. Значенияb
,d
иa
обновляются (переприсваиваются их абсолютные значения), чтобы правильно работать с отрицательными числами. - Используя формулу
x1
иx2
, вычисляются значения корнейx1
иx2
. - С помощью функции
printf
выводятся значения корней на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д