求解一元二次方程
使用工具:VS2017
功能:
1.输入一元二次方程的三个参数a,b,c。
2.如果该方程有根,则输出根的值。
3.如果该方程没有根,则提示没有根。
一、代码部分
函数实现:
bool ifExtractARoot(int a, int b, int c, float *x1, float *x2)
{
int deta = b * b - 4 * a*c;
if (deta < 0)
return false;
else if (deta == 0)
{
*x1 = *x2 = (float)(-b + sqrt(deta)) / (2 * a);
return true;
}
else
{
*x1 = (float)(-b + sqrt(deta)) / (2 * a);
*x2 = (float)(-b - sqrt(deta)) / (2 * a);
return true;
}
}
主函数调用:
int main()
{
int a, b, c;
float x1, x2;
printf("输入一元二次方程的三个参数:\n");
scanf_s("%d%d%d", &a, &b, &c);
if (ifExtractARoot(a, b, c, &x1, &x2))
{
printf("一元二次方程的根为:%.2f,%.2f\n\n", x1, x2);
}
else
{
printf("该一元二次方程没有根\n\n");
}
system("pause");
return 0;
}
二、运行结果
该方程有根
该方程没有根