![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Я написал программу для решения квадратного уравнения c коэффициентами A, B и C. Однако призначениях A = 1, B = 0 и C = 0 программа выдаёт результат -0.000000. Программа выглядит вот так:
Код:
#include <stdio.h>
#include <math.h>
#include <conio.h>
int main() {
double x1, x2, x, A, B, C;
scanf("%lf %lf %lf", &A, &B, &C);
if(A == 0 && B == 0 && C == 0)
printf("INFINITY");
else
if(A==0 && B == 0 && C!=0)
printf("NO SOLUTIONS");
else
if(A!=0 && B == 0 && C == 0)
{
x = -B/(2*A);
printf("%lf\n", x);
}
else
if(A!=0 && B!=0 && C == 0)
{
x1=(-B -sqrt(B*B -4*A*C))/(2*A);
x2=(-B +sqrt(B*B -4*A*C))/(2*A);
printf("%lf ", x1);
printf("%lf\n", x2);
}
else
if(B*B -4*A*C == 0)
{
x=-B/(2*A);
printf("%lf\n", x);
}
else
{
x1=(-B -sqrt(B*B -4*A*C))/(2*A);
x2=(-B +sqrt(B*B -4*A*C))/(2*A);
printf("%lf ", x1);
printf("%lf\n", x2);
}
getch();
return 0;
} |
|
#2
|
|||
|
|||
|
Ну и в чем проблема?
Вполне нормальное поведение для программы. Ответ же очевиден - 0. А то, что он с минусом, да еще с нулями после точки, то а чего вы хотели от вещественных числел при выводе с таким форматом. ЗЫ. Вообще, в данной ветке можно просто писать в вывод 0 и ничего не считать. |
|
#3
|
|||
|
|||
|
Цитата:
|
|
#4
|
|||
|
|||
|
пфф...Это нормально...не переживай))
|
|
#5
|
|||
|
|||
|
Цитата:
Может вы мне посоветуете, как избавиться от минуса? |
|
#6
|
|||
|
|||
|
Я нашёл проблему.
|
|
#7
|
|||
|
|||
|
ах от минуса? тогда дайте пудамать)
|
|
#8
|
|||
|
|||
|
Цитата:
|