/*
*Copyright(c) 2015/4/5 CSDN博客
*All rights reserved.
*文件名称:main.c
*作 者:金叶
*完成日期:2015/4/5
*版本号:V1.0
*问题描述:一元二次方程全解
*/
#include <stdio.h>
#include <math.h>
int main()
{
float a,b,c,y,x1,x2;
printf("有一方程ax^2+bx+c=0,输入a,b,c的值:");
scanf("%f %f %f",&a,&b,&c);
if(a==0&&b!=0)
{
printf("解为%f",y=-c/b);
}
if(a==0&&b==0&&c==0)
{
printf("解为任意数");
}
if(a==0&&b==0&&c!=0)
{
printf("无解");
}
if((a!=0)&&(b*b)-(4*a*c)>=0)
{
x1=(-b+sqrt(y))/(2*a);
x2=(-b-sqrt(y))/(2*a);
printf("x1=%f, x2=%f\n",x1,x2);
}
if((a!=0)&&(b*b)-(4*a*c)<=0)
{
printf("有2个虚根");
}
return 0;
}
/*
*Copyright(c) 2015/4/5 CSDN博客
*All rights reserved.
*文件名称:main.c
*作 者:金叶
*完成日期:2015/4/5
*版本号:V1.0
*问题描述:一元二次方程全解
*/
#include <stdio.h>
#include <math.h>
int main()
{
float a,b,c;
printf("输入方程式的3个值分别为a,b,c:");
scanf("%f %f %f",&a,&b,&c);
if(a==0)
{
if(b==0)
{
if(c==0)
{
printf("值为任意值");
}
else printf("无解");
}
}
else
{
if(b*b-4*a*c>=0)
{
printf("两实根");
}
else printf("两虚根");
}
return 0;
}
用了2个方法求的,老师给点评下,还行不,花了蛮久的时间,还画了流程图