请教一下c语言编程问题

学生一枚。今天看到书上有个一元二次根问题来了兴趣就 编写了一个完整的解一元二次方程根的问题。但结果差强人意。无论输入什么都是定值 实在不知道问题在哪 求指点一下

#include<stdio.h>
#include<math.h>
int main()
{
	double a,b,c,disc,x1,x2,realpart,imagpart;
	scanf("1f%1f%1f%",&a,&b,&c);
	printf("the equation");
	if(fabs(a)<=1e-6) //a<0
		printf("is not quadratic\n");// 不是二元一次方程
	else
	{
		disc=b*b-4*a*c;
		if(fabs(disc)<=1e-6) 
			printf("has two equal roots:%8.4f\n",-b/(2*a)); //两等根
		else
			if(disc>1e-6)
			{
				x1=(-b+sqrt(disc))/(2*a);
	            x2=(-b-sqrt(disc))/(2*a);
				printf(" has two real roots:%8.4f and %8.4f\n",x1,x2); //两不相等根
			}
		else
			{
				realpart=-b/(2*a);
				imagpart=sqrt(-disc)/(2*a);
				printf("has two different complex roots:");//两负数根
		        printf("%8.4f+%8.4fi",realpart,imagpart);
		        printf("%8.4f-%8.4fi",realpart,imagpart);
			}
	}
	return 0;
}
希望大家给一点帮助


猜你喜欢

转载自blog.csdn.net/lcy6239/article/details/52528995
今日推荐