// Пример программы на Си – решение квадратного уравнения
// Комментарий здесь для прояснения логики программы
#include<conio.h>
#include<stdio.h>
#include<math.h>//Здесь находится прототип ф-ции ? (sqrt)
void main()
{
float a,b,c,r,d,g; // Будет решаться ур-ие ax2 +bx+c=0
clrscr();
printf("\na,b,c ");
scanf("%f%f%f",&a,&b,&c);
if (a==0 && b==0) //Ур-ия вида с=0 не м.б., ведь с – некоторое число!
printf("Уравнение вырождено");
else // a и b неравны 0 одновременно
if (a==0) // b не равно 0 и ур-ие имеет вид: bx+c=0
printf("Единственный корень равен %g",-c/b);
else // а не равно 0, т.е. уравнение квадратное и корней будет два
if (c==0) // ур-ие имеет вид: ax2 +bx=0
printf("korni %g Ё %g",-b/a,0.0);
else // а и с не равны 0
{
r=-b/(2*a);
d=b*b-4*a*c; // d – дискриминант кв. ур.
g=sqrt(fabs(d))/(2*a);
if (d>=0) // d – дискриминант неотрицателен
printf("Корни %g и %g",r+g,r-g); // корни - действительные
else // корни – комплексно-сопряженные
printf("Koрни %g+i*%g и %g-i*%g",r,fabs(g),r,fabs(g));
}
printf("\n"); // просто перевод строки
getch(); // здесь эта ф-ция играет роль задержки
}