|
发表于 2020-11-18 14:18:45
|
显示全部楼层
- #include <stdio.h>
- #include <math.h>
- int main()
- {
- int a, b, c, delta;
- double p, q, x1, x2;
- printf("请输入三位数:");
- scanf("%d%d%d", &a, &b, &c);
- if (a < 0)
- {
- a = -a;
- b = -b;
- c = -c;
- }
- else if(a > 0)
- {
- delta = b * b - 4 * a * c;
- if (delta > 0)
- {
- p = -b / (2.0 * a);
- q = sqrt(delta) / (2.0 * a);
- x1 = p + q;
- x2 = p - q;
- printf("该方程有两个不同的解为:\nx1 = %.2f\nx2 = %.2f\n", x1, x2);
- }
- else if (delta == 0)
- {
- p = -b / (2.0 * a);
- x1 = p;
- printf("该方程有两个相同的解为:\nx1 = x2 = %.2\n", p);
- }
- else
- {
- p = -b / (2.0 * a);
- delta = -delta;
- q = sqrt(delta) / (2.0 * a);
- printf("该方程有两个共轭复根为:\nx1 = %.2f + %.2fi\nx2 = %.2f - %.2fi\n", p, q, p, q);
- }
- }
- else
- {
- printf("该方程不是一元二次方程\n");
- }
- return 0;
- }
复制代码 |
|