Undefined reference to `sqrt' - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Хочу корни квадратного уравнения найти. Из нижеследующего кода выходит ошибка:

myclock.c.text+0x6e): undefined reference to `sqrtf'

,

collect2: выполнение ld завершилось с кодом возврата 1

Если в эту же программу вставлять числа напрямую, все нормально. Проблема появляется, когда в выражение извлечения корня попадает какая-либо переменная.
#include <stdio.h>
#include <math.h>
int main (void)
{
int a, b, c;
 
printf ("Введите a, b и c: \n");
 
scanf ("%d%d%d", &a, &b, &c);
printf ("Корни уравнения:\n %f\n %f\n", (-b - sqrtf (b*b - 4*a*c))/(2*a), (-b + sqrtf(b*b - 4*a*c))/(2*a) );
return 0;}
По форуму искал вроде, не нашел ответа.

Решение задачи: «Undefined reference to `sqrt'»

textual
Листинг программы
printf ("Корни уравнения:\n %f\n %f\n",(float)(-b - sqrt(b*b - 4*a*c))/(2*a), (float)(-b + sqrt(b*b - 4*a*c))/(2*a) );

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

Код выводит на экран корни уравнения.

  1. Уравнение: bb - 4a*c = 0
  2. Вычисление дискриминанта: bb - 4a*c
  3. Вычисление значения переменной a: (-b — sqrt(bb - 4ac))/(2a)
  4. Вычисление значения переменной c: (-b + sqrt(bb - 4ac))/(2a)
  5. Вывод на экран значения переменной a: (float)(-b — sqrt(bb - 4ac))/(2a)
  6. Вывод на экран значения переменной c: (float)(-b + sqrt(bb - 4ac))/(2a)

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


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

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

8   голосов , оценка 4.25 из 5