一元二次方程代码
一元二次方程代码
作为一个刚刚入门c语言的小白,没有什么高端经验分享,只有发表一些简单代码。
把这当作我的数据库,也方便我从简单的代码中总结出经验。
当然今天是我上****的第一天,刚刚了解makedown的我很兴奋就想随便发发
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define EPS 1e-6
main()
{
float a,b,c,disc,p,q;
printf("please input the cofficent a,b,c:");
scanf("%f,%f,%f",&a,&b,&c);
if(fabs(a)<=EPS)
{
printf("It is not a quadratic equation");
exit(0);
}
disc=b*b-4*a*c;
p=-b/(2*a);
q=sqrt(fabs(disc))/(2*a);
if(fabs(a)<=EPS)
{
printf("x1=x2=%.2f\n",p);
}
else
{
if(disc>EPS)
{
printf("x1=%.2f,x2=%.2f\n",p+q,p-q);
}
else
{
printf("x1=%.2f+%.2fi",p,q);
printf("x1=5.2f-5.2fi\n",p,q);
}
}
}
在初学的时候还是有很多问题,比如这个float转double的精度问题,常常会因为少打一些字符出错