Решение квадратного уравнения - 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)