求方程 ax^2+bx+c=0的根,用3个函数分别求当: b^2-4ac大于0等于0和小于0时的根并输出结果。从主函数输入a,b,c的值
Posted inta
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求方程 ax^2+bx+c=0的根,用3个函数分别求当: b^2-4ac大于0等于0和小于0时的根并输出结果。从主函数输入a,b,c的值相关的知识,希望对你有一定的参考价值。
求方程 ({ax}^2+bx+c=0)的根,用3个函数分别求当: (b^2-4ac)大于0、等于0和小于0时的根并输出结果。从主函数输入a,b,c的值
题目解析
根据disc = (b^2-4ac) 的值来决定如何求根,题目本身编程不难,不过需要同学们复习一下高中的数学知识哦。
代码示例
#include<stdio.h>
#include<math.h>
//x1为第一个根,x2为第二个根
float x1, x2, disc, p, q;
void greater_than_zero(float a, float b)
{
float m = sqrt(disc);
x1 = (-b + sqrt(disc)) / (2 * a);
x2 = (-b - sqrt(disc)) / (2 * a);
}
void equal_to_zero(float a, float b)
{
x1 = x2 = (-b) / (2 * a);
}
void smaller_than_zero(float a, float b)
{
p = -b / (2 * a);
q = sqrt(-disc) / (2 * a);
}
int main()
{
int a, b, c;
printf("请输入 a b c:");
scanf("%d %d %d", &a, &b, &c);
printf("表达式为: %d*x^2+%d*x+%d = 0
", a, b, c);
disc = b*b - 4 * a*c;
if (disc > 0)
{
greater_than_zero(a, b);
printf("disc>0的根为: x1=%f x2=%f
", x1, x2);
}
else if (disc == 0)
{
equal_to_zero(a, b);
printf("disc==0的根为:x1=%f x2=%f
", x1, x2);
}
else
{
smaller_than_zero(a, b);
printf("disc<0的根为:x1=%f+%f x2=%f-%f
", p, q, p, q);
}
return 0;
}
运行结果:
以上是关于求方程 ax^2+bx+c=0的根,用3个函数分别求当: b^2-4ac大于0等于0和小于0时的根并输出结果。从主函数输入a,b,c的值的主要内容,如果未能解决你的问题,请参考以下文章