键盘输入一元二次方程的系数a,b,c,计算udkl2式delta,根据delta的值判定方程解的情况,若有解则输出解
为了这个还专门学习了一下一元二次方程,莫辜负
#include <stdio.h>
#include <math.h>
int main() {
double a, b, c, delta, x1, x2;
printf("请输入一元二次方程的系数 a, b, c:\n");
scanf("%lf %lf %lf", &a, &b, &c);
delta = b * b - 4 * a * c;
if(delta < 0) {
printf("方程无实根。\n");
}
else if(delta == 0) {
x1 = x2 = -b / (2 * a);
printf("方程有一个实根:x1 = x2 = %.2lf\n", x1);
}
else {
x1 = (-b + sqrt(delta)) / (2 * a);
x2 = (-b - sqrt(delta)) / (2 * a);
printf("方程有两个实根:x1 = %.2lf, x2 = %.2lf\n", x1, x2);
}
return 0;
}
该回答引用GPT:
首先,需要从键盘输入一元二次方程的系数a,b,c,然后计算出udkl2式delta,根据delta的值判定方程解的情况,若有解则输出解。
#include <stdio.h>
int main()
{
double a, b, c;
double delta;
double x1, x2;
printf("请输入一元二次方程的系数a,b,c:\n");
scanf("%lf %lf %lf", &a, &b, &c);
delta = b*b - 4*a*c;
if (delta < 0)
{
printf("此方程无解\n");
}
else if (delta == 0)
{
x1 = -b / (2*a);
printf("此方程有一个解:x=%lf\n", x1);
}
else
{
x1 = (-b + sqrt(delta)) / (2*a);
x2 = (-b - sqrt(delta)) / (2*a);
printf("此方程有两个解:x1=%lf, x2=%lf\n", x1, x2);
}
return 0;
}
如还有疑问,可留言帮助解决。
不知道你这个问题是否已经解决, 如果还没有解决的话: