解题思路:
注意事项:
参考代码:
#include<stdio.h>
#include<math.h>
int gen(float a,float b,float c)
{
float D,x1,x2,xubu1,xubu2,x0;
D=b*b-4*a*c;
if(D>0)
{
x1=(-b+sqrt(D))/(2*a);
x2=(-b-sqrt(D))/(2*a);
printf("x1=%0.3f x2=%0.3f\n",x1,x2);
}
else if(D==0)
{
x1=x2=-b/(2*a) ;
printf("x1=%0.3f x2=%0.3f",x1,x2);
}
else if(D<0)
{
x1=-b/(2*a); //实部
xubu1=(sqrt(-D)/(2*a)); //虚部
x2=-b/(2*a);
xubu2=(sqrt(-D)/(2*a));
printf("x1="); //按要求输出格式
printf("%0.3f",x1);
printf("+%0.3fi",xubu1);
printf(" x2=");
printf("%0.3f",x2);
printf("-%0.3fi",xubu2);
}
}
int main()
{
float a,b,c;
scanf("%f %f %f", &a, &b,&c);
gen(a,b,c);
return 0;
}
在D<0的判断中,也可替换成“
printf("x1=%.3f+%.3fi ",-b/(2*a),sqrt(4*a*c-b*b)/(2*a));
printf("x2=%.3f-%.3fi",-b/(2*a),sqrt(4*a*c-b*b)/(2*a));
”
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复