解题思路:
注意事项:
参考代码:
#include <stdio.h>
#include <math.h>
void result_1(double a, double b, double c);
void result_2(double a, double b, double c);
void result_3(double a, double b, double c);
int main(void)
{
double a, b, c, result;
scanf("%lf %lf %lf", &a, &b, &c);
if (b * b - 4 * a * c > 0)
{
result_1(a, b, c);
}
else if (b * b - 4 * a * c == 0)
{
result_2(a, b, c);
}
else
{
result_3(a, b, c);
}
return 0;
}
void result_1(double a, double b, double c)
{
double result_1_1, result_1_2;
result_1_1 = (-b + pow(b * b - 4 * a * c, 0.5)) / 2 * a;
result_1_2 = (-b - pow(b * b - 4 * a * c, 0.5)) / 2 * a;
double result_1[2] = {result_1_1, result_1_2};
for (int i = 1; i <= 2; i++)
{
printf("x%d=%.3lf ", i, result_1[i - 1]);
}
printf("\n");
}
void result_2(double a, double b, double c)
{
double result_2;
result_2 = -b / 2 * a;
printf("x1=%.3lf x2=%.3lf\n", result_2, result_2);
}
void result_3(double a, double b, double c)
{
double result_3, real_part;
real_part = -b / (2 * a);
result_3 = pow(4 * a * c - b * b, 0.5) / (2 * a);
printf("x1=%.3lf+%.3lfi x2=%.3lf-%.3lfi\n", real_part, result_3, real_part, result_3);
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复