求一元二次方程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");
}

本文介绍了一种计算一元二次方程根的方法,并通过一个C语言函数实现。该函数接收方程系数作为输入,返回解的个数,同时输出根的值。测试示例展示了如何使用该函数。
6500

被折叠的 条评论
为什么被折叠?



