求
方
程
的
a
x
2
+
+
b
x
+
c
=
0
根
,
用
三
个
函
数
分
别
求
当
求方程的ax^2++bx+c=0根,用三个函数分别求当
求方程的ax2++bx+c=0根,用三个函数分别求当
(
1
)
b
2
−
4
a
c
>
0
(1)b^2-4ac>0
(1)b2−4ac>0
(
2
)
b
2
−
4
a
c
=
0
(2)b^2-4ac=0
(2)b2−4ac=0
(
3
)
b
2
−
4
a
c
<
0
(3)b^2-4ac<0
(3)b2−4ac<0
时的根,并输出结果。从主函数输入a、b、c的值。
float n1(float a,float b);
float n2(float a,float b);//float分别为形参
float n3(float a,float b);//声明三个函数
float DT,x1,x2,p,q;//定义局部变量
#include<stdio.h>
#include<math.h>
int main()
{
int a,b,c;
printf("请输入a、b、c的值:");
scanf("%d,%d,%d",&a,&b,&c);//a,b,c之间需逗号隔开
DT=b*b-4*a*c;
if(DT>0)
{
n3(a,b);//调用函数你n3,a和b为实参
printf("x1=%.2f\nx2=%.2f",x1,x2);
}
else if(DT==0)
{
n2(a,b);
printf("x1=%.2f\nx2=%.2f",x1,x2);
}
else
{
n1(a,b);
printf("x1=%f+%f\nx2=%f-%f",p,q,p,q);
}
return 0;
}
float n1(float a,float b)//当DT<0时
{
p = -b / (2 * a);
q = sqrt(-DT) / (2 * a);
return 0;
}//至此定义了函数n1
float n2(float a,float b)//当DT==0时
{
x1 = x2 = (-b) / (2 * a);
return 0;
}
float n3(float a,float b)//当DT>0时
{
x1 = (-b + sqrt(DT)) / (2 * a);
x2 = (-b - sqrt(DT)) / (2 * a);
return 0;
}