用C语言解一元二次方程式的根

#include
#include //需要用到一个sqrt()函数,该函数功能用于开方;
				//该函数运算结果数据类型为double类型;如果涉及到运算请将数据类型定义成浮点型! 
int main ()
{
	float a,b,c,x1,x2;
	printf("请分别输出方程式的系数,中间以空格分隔\n");
	scanf("%f %f %f",&a,&b,&c);
	if(b*b-4*a*c>0)//判断判别式是否大于0 
		{
			printf("方程有两个不同实根\n");
			x1=(-b+sqrt(b*b-4*a*c))/(2*a);//注意:"-b+sqrt(b*b-4*a*c)" 一定要用括号括起来!
											//否则会导致运算错误,程序会根据先算乘除再算加减的过程来运算! 
			x2=(-b-sqrt(b*b-4*a*c))/(2*a);
			printf("方程两个不同实根x1=%0.3f x2=%0.3f\n",x1,x2);
			//%0.3f是精确到3位小数的意思,同理0.2f就是精确到2位小数 
		}
	if(b*b-4*a*c==0)//判断判别式是否等于0 
		{
			printf("方程有两个相同实根\n");
			x1=x2=-b/2*a;
			printf("方程两个相同同实根x1=%0.3f x2=%0.3f\n",x1,x2);
		}
	if(b*b-4*a*c<0)//判断判别式是否小于0 
		{
			printf("方程无实根\n");
		} 
	return 0;
}

你可能感兴趣的:(C语言程序设计第四版习题答案,c语言)