@David_138

Что я делаю не так в коде?

Всем привет. Начинаю изучать программирование на языке в С и столкнулся с проблемой.
$ cat test0.c
#include<stdio.h> 
#include<curses.h>
#include<math.h>
void main()
{
	double a,b,c,x1,x2;
	printf("a="); scanf("%lf ",&a);
	printf("b="); scanf("%lf ",&b);
	printf("c="); scanf("%lf ",&c);
	x1=(-b+(c=sqrt(b*b-4.0*a*c)))/(a+a);
	x2=(-b-c)/(a+a);
	printf("x1=%f\n",x1);
	printf("x2=%f\n",x2);
	getch();
} 
$ gcc -o test0 test0.c -lcurses -lm
$ ./test0
a=2
3
b=2
c=2
x1=-nan
x2=-nan


Да, я программирую в терминале Убунту 20.04. вопрос что за тройку он просит вывести и что за значения nan?
  • Вопрос задан
  • 96 просмотров
Решения вопроса 1
@AlexSku
Программист по автоматике
nan это "не число" (not a number), т.к. нельзя извлечь квадратный корень из отрицательного дискриминанта (b^2 - 4ac)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы