第七章:7.2求方程a*x*x+b*x+c=0的根,用3个函数,分别求当:b*b-4*a*c大于0、等于0和小于0时的根并输出结果。从主函数输入a、b、c的值
//求方程a*x*x+b*x+c=0的根,用3个函数,分别求当:b*b-4*a*c大于0、等于0和小于0时的根并输出结果。
//从主函数输入a、b、c的值
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>
void s1(float a, float b, float c)
{float x1, x2;float tmp = b * b - 4 * a * c;x1 = (-b + sqrt(tmp)) / 2 * a;x2 = (-b - sqrt(tmp)) / 2 * a;printf("x1=%.2f\nx2=%.2f\n", x1, x2);
}
void s2(float a, float b, float c)
{float x1, x2;float tmp = b * b - 4 * a * c;x1 = (-b ) / 2 * a;x2 = (-b ) / 2 * a;printf("x1=%.2f\nx2=%.2f\n", x1, x2);
}
void s3(float a, float b, float c)
{float x1, x2;float p, q;float tmp = b * b - 4 * a * c;p = (-b) / 2 * a;q = (sqrt(-tmp)) / 2 * a;printf("x1=%.2f+%.2fi\nx2=%.2f-%.2fi\n", p, q, p, q);
}
int main()
{float a = 0.0, b = 0.0, c = 0.0;printf("请输入a的值:");scanf("%f", &a);printf("请输入b的值:");scanf("%f", &b);printf("请输入c的值:");scanf("%f", &c);if (b * b - 4 * a * c > 0){s1(a, b, c);}else if (b * b - 4 * a * c == 0) {s2(a, b, c);}else{s3(a, b, c);}return 0;
}
输出结果:
1.当b*b-4*a*c=0时
2.当b*b-4*a*c<0时
3.当b*b-4*a*c>0时