Нахождение корней квадратного трехчлена - 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);
}

Объяснение кода листинга программы

  1. Начинается с проверки дискриминанта d (сначала приведенного к типу double, так как это более точное представление действительного числа, чем int). Если d меньше нуля, то выводится сообщение No solutions! и код завершается.
  2. Если d больше или равно нулю, то находятся корни x1 и x2 с помощью формулы x1 = (-b + sqrt(d)) / (2*a) и x2 = (-b - sqrt(d)) / (2*a). Значения b, d и a обновляются (переприсваиваются их абсолютные значения), чтобы правильно работать с отрицательными числами.
  3. Используя формулу x1 и x2, вычисляются значения корней x1 и x2.
  4. С помощью функции printf выводятся значения корней на экран.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.8 из 5
Похожие ответы