Решение квадратного уравнения - 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)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д