Решение квадратного уравнения - C (СИ) (69656)

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

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

Где-то ошибка, не могу понять. Когда ввожу 0 пишет не то. Думаю ошибки с If... например, когда ввожу а=0, б=5,с=-25 выводит Введите а 0 Введите b 5 Введите c -25 x=5,000000 x1=-1,#INF00 x2=-1,#INF00 аааа
#include<stdio.h>
#include<conio.h>
#include<math.h> 
#include<locale.h>
main()
{
setlocale(0, "rus");
    float a,b,c,x1,x2,dis;
    printf("Введите а ");
    scanf("%f", &a);
    printf("Введите b ");
    scanf("%f", &b);
    printf("Введите c ");
    scanf("%f", &c);
    if (a==0 &&b!=0 &&c!=0)
    {
 
        x1=-c/b;
        printf("x=%f\n",x1);
    }
    if (b==0 &&a!=0 &&c!=0)
{
   if ((c/a)<=0)
   
  {
    printf("Net reshenij");} else
  {
    x1=sqrt(-c/a);
   x2=sqrt(-c/a);
    
printf("x1=x2=%f\n",x1);
}
}
if (c==0 &&a!=0)
if (b==0)
{x1=sqrt(1/a);
printf("x1=%f\n",x1);
}
else
{x1=0;
x2=(-b/a);
printf("при с=0 x1=%f\n",x1);
printf("при с=0 x2=%f\n",x2);
}
if(c!=0 && a!=0 && b!=0)
{dis=b*b-4*a*c;
printf("D=%f\n", dis);}
if(dis>=0)
 
    {
    x1= ((-b+sqrt(dis))/(2*a));
    x2= ((-b+sqrt(dis))/(2*a));}
    printf("x1=%f\n",x1);
printf("x2=%f\n",x2);

 getch();
  return 0;
}

Решение задачи: «Решение квадратного уравнения»

textual
Листинг программы
if(dis>=0)

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

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