/*烟台大学计算机学院 2016
作者:张威
完成日期:2016年10月
问题描述:输入三个实数 输出实数根和共轭复根
样例输入:
1 2 3
样例输出:
-1.00+1.41i -1.00-1.41i
*/
#include <stdio.h>
#include <stdlib.h>
#include<math.h>
int main()
{
float a,b,c,x1,x2,d;
scanf("%f %f %f",&a,&b,&c);
d=b*b-4*a*c;
if(d>0)
{
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
if(x1>x2)
printf("%.2f %.2f",x1,x2);
else
printf("%.2f %.2f",x2,x1);
}
else if(d==0)
{
x1=(-b)/(2*a);
x2=(-b)/(2*a);
printf("%.2f %.2f",x1,x2);
}
else
{
float m,n;
m=(-b)/(2*a);
n=sqrt(-d)/(2*a);
printf("%.2f+%.2fi %.2f-%.2fi",m,n,m,n);
}
return 0;
}
/*
知识总结:共轭复根的求法 以及充分挖掘题目隐含条件
学习心得:读懂题意 分解题目 建立逻辑关系
*/
运行结果: