您的位置:首页 > 其它

大一上学期寒假 求方程的根

2017-01-18 13:23 204 查看
问题及代码:


1048: 求方程的根

时间限制: 1 Sec 内存限制: 128 MB

提交: 1466 解决: 494

[提交][状态][讨论版]


题目描述

求方程 的根,用三个函数分别求当b^2-4ac大于0、等于0、和小于0时的根,并输出结果。从主函数输入a、b、c的值。


输入

a b c


输出

x1=? x2=?


样例输入

4 1 1


样例输出

x1=-0.125+0.484i x2=-0.125-0.484i


#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()

{

float a,b,c,q;

void shigen(float,float,float);

void denggen(float ,float );

void xugen(float ,float ,float);

scanf("%f%f%f",&a,&b,&c);

q=b*b-4*a*c;

if(q>0) shigen(a,b,q);

else if(q==0) denggen(a,b);

else xugen(a,b,q);

return 0;

}
void shigen(float a,float b,float q)
{
float x1,x2;
x1=(-1*b+sqrt(q))/2*a;
x2=(-1*b-sqrt(q))/2*a;
printf("x1=%.3f x2=%.3f",x1,x2);
}
void denggen(float a,float b)
{
float x1,x2;
x1=(-1*b)/2*a;
x2=x1;
printf("x1=%.3f x2=%.3f",x1,x2);
}
void xugen(float a,float b,float q)
{
float t1,t2;
t1=(-1*b)/(2*a);
t2=(sqrt(-1*q))/(2*a);
printf("x1=%.3f+%.3fi x2=%.3f-%.3fi",t1,t2,t1,t2);
}


运行结果:



知识点总结:

复根的求法


学习心得:虽然下学期要换老师,但是CSDN不应该荒废,应该长期坚持下去!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: