#include<stdio.h>
#include<math.h>
#include<stdlib.h>
void solution(double a,double b,double c,double *l,double *p,double *q);
int main()
{
double a,b,c,p,q,l;
printf("请输入二元一次方程的系数a,b,c:\n");
do
{
scanf("%lf %lf %lf",&a,&b,&c);
}
while((a==0)|| (b*b-4*a*c)<0);
solution(a,b,c,&l,&p,&q);
if(l==1)
printf("方程的解为:%.2f%.2f",p,q);
else printf("方程的只有一个解为:%.2f",p);
}
void solution(double a,double b,double c,double *l,double *p,double *q)
{
double flag = b*b-4*a*c;
if(flag == 0 )
{
*p= -b/(2*a);
*q= *p;
*l= 0;
}
else
{
*p= (-b/(2*a))/(4*a*c);
*q= *p;
*l = 1;
}
}
|