第一次尝试:
#include <stdio.h>
#include <stdlib.h>
// y = a * x ^ 2 + b * x + c
int main(int argc, char *argv[])
{
float a, b ,c; // 声明3个系数
float delta, x1, x2;
scanf("%f %f %f", &a, &b, &c);
// 首先判断是否为一元二次方程,即a不等于0
if(a == 0)
{
return 0;
}
// 计算判别式德尔塔
delta = b * b - 4 * a * c;
// 根据delta与0比较的情况判断解的个数
if(delta > 0) // delta大于0时有两个解
{
x1 = (-b + sqrt(delta)) / (2 * a);
x2 = (-b - sqrt(delta)) / (2 * a);
printf("%f %f", x1, x2);
}
else if(delta = 0) // delta等于0时有一个解
{
x1 = x2 = (-b + sqrt(delta)) / (2 * a);
printf("x1=x2=%f", x1);
}
else // delta小于0时没有解
{
printf("无解");
}
return 0;
}