求一元二次方程的根(略复杂) /*------------------------------------------------------- 功能:计算一元二次方程的根。 -------------------------------------------------------*/ #include "stdio.h" /***********SPACE***********/ #include <【1】> main() { /***********SPACE***********/ 【2】 a,b,c,disc,x1,x2,realpart,imagpart; scanf("%f%f%f",&a,&b,&c); printf("这个方程"); /***********SPACE***********/ if(【3】<=1e-6)//请考虑正负数;在小数情况下,0不能精确表示,通常用不大于10的-6次方表示0,即某数绝对值<=1e-6,即可视为该数等于0;求小数绝对值函数为fabs() printf("不是二次方程式\n"); else disc=b*b-4*a*c; /***********SPACE***********/ if(【4】<=1e-6) printf("有两个相等根:%-8.4f\n",-b/(2*a)); /***********SPACE***********/ else if(【5】> 1e-6 ) { x1=(-b+sqrt(disc))/(2*a); x2=(-b-sqrt(disc))/(2*a); printf("有两个不等实数根:%8.4f and %.4f\n",x1,x2); } else { realpart=-b/(2*a); imagpart=sqrt(-disc)/(2*a); printf("有复数根:\n"); printf("%8.4f+%.4fi\n",realpart,imagpart); printf("%8.4f-%.4fi\n",realpart,imagpart); } }