这算法有点奇特啊,没看过,这是我的代码和注释#include <stdio.h>
#include <MATH.H>
void main()
{
int a,b,c;
float x1,x2;
scanf("%d%d%d",&a,&b,&c);
float det = b * b - 4 * a * c; //声明一个det变量,初始化其值为b^2 - 4ac
if (det == 0) //判断det值是否等于0
{
printf("一个解,");
x1 = (-b) / (2*c);
x2 = x1;
printf("x1 = x2 = %f",x1); //如果det为0,那么两个接相等,并且等于-b/2ac;输出结果
}
else if (det > 0)
{
printf("两个解,");
x1 = (-b + sqrt(det) )/(2*a);
x2 = (-b - sqrt(det) )/(2*a);
printf("x1 = %f,x2 = %f",x1,x2); //如果det大于0,那么有x1,x2分别为(-b +(或-) sqrt(det) )除以(2a);
}
else
{
printf("无解\n"); //如果小与零,则无解!
}
}
|