求一元二次方程axx+b*x+c=0的根,返回值:解的个数
char Cal(double a, double b, double c, double *x1, double *x2)
{
double delt = b*b-4*a*c;
if(delt < 0)return 0;
*x1 = (-b-sqrt(delt))/a/2.0;
*x2 = (-b+sqrt(delt))/a/2.0;
return delt? 2:1;
}
void test3(void)
{
double *x1;double *x2;
double a = 1, b = -2, c = 1;
char res = 0;
x1 = malloc(sizeof(double));
x2 = malloc(sizeof(double));
res = Cal(a, b, c, x1, x2);
if(res)
printf("res=%d,x1=%.2f,x2=%.2f\n", res, *x1, *x2);
else printf("no x1 x2\n");
}