C语言根据下面给出的求根公式,计算并输出以下一元二次方程的两个实根。 要求精确到小数点后4位。 其中a,b,c的值由用户从键盘输入。如果用户输入的系数不满足求实根的要求,输出错误提示 "error!"。输入格式: "%f,%f,%f" 输出格式: 输入提示信息:"Please enter the coefficients a,b,c:\n" 输出格式:"x1=%7.4f, x2=%7.4f\n" 输入错误提示信息:"error!\n"
时间: 2023-07-19 16:20:53 浏览: 88
下面是实现该功能的C语言代码:
```c
#include <stdio.h>
#include <math.h>
int main()
{
float a, b, c;
printf("Please enter the coefficients a,b,c:\n");
scanf("%f,%f,%f", &a, &b, &c);
float delta = b * b - 4 * a * c;
if (delta < 0 || a == 0)
{
printf("error!\n");
return 0;
}
float x1 = (-b + sqrt(delta)) / (2 * a);
float x2 = (-b - sqrt(delta)) / (2 * a);
printf("x1=%7.4f, x2=%7.4f\n", x1, x2);
return 0;
}
```
其中,我们首先从键盘读入a、b、c三个系数,然后根据求根公式计算delta,并判断是否有实根。如果没有实根,则输出错误提示;否则,计算并输出实根x1和x2。
相关问题
C语言编程计算并输出一元二次方程ax^2+bx+c=0的两个实根
当给定一元二次方程的系数 a、b、c 时,可以使用以下公式来计算方程的两个实根:
x1 = (-b + √(b^2 - 4ac)) / (2a)
x2 = (-b - √(b^2 - 4ac)) / (2a)
下面是使用 C 语言编写的示例代码:
```c
#include <stdio.h>
#include <math.h>
int main() {
double a, b, c, discriminant, x1, x2;
printf("请输入一元二次方程的系数:\n");
printf("a = ");
scanf("%lf", &a);
printf("b = ");
scanf("%lf", &b);
printf("c = ");
scanf("%lf", &c);
discriminant = b * b - 4 * a * c;
if (discriminant > 0) {
x1 = (-b + sqrt(discriminant)) / (2 * a);
x2 = (-b - sqrt(discriminant)) / (2 * a);
printf("方程的两个实根为:x1 = %.2lf,x2 = %.2lf\n", x1, x2);
} else if (discriminant == 0) {
x1 = x2 = -b / (2 * a);
printf("方程有两个相等的实根:x1 = x2 = %.2lf\n", x1);
} else {
double realPart = -b / (2 * a);
double imaginaryPart = sqrt(-discriminant) / (2 * a);
printf("方程的两个虚根为:x1 = %.2lf + %.2lfi,x2 = %.2lf - %.2lfi\n", realPart, imaginaryPart, realPart, imaginaryPart);
}
return 0;
}
```
你可以直接运行这段代码,并输入方程的系数 a、b、c,程序将会计算并输出方程的两个实根。
用c语言计算一元二次方程的三个系数求方程实根
以下是用C语言计算一元二次方程的三个系数以及求方程实根的示例代码:
```c
#include <stdio.h>
#include <math.h>
int main()
{
float a, b, c, delta, x1, x2;
printf("请输入一元二次方程的三个系数(a,b,c):\n");
scanf("%f%f%f", &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 = %.2f\n", x1);
}
else
{
x1 = (-b + sqrt(delta)) / (2 * a);
x2 = (-b - sqrt(delta)) / (2 * a);
printf("该方程有两个实根:x1 = %.2f,x2 = %.2f\n", x1, x2);
}
return 0;
}
```
用户需要输入一元二次方程的三个系数(a,b,c),程序会根据公式计算出方程的判别式delta,然后判断方程的实根情况并输出结果。如果方程无实根,则输出相应提示;如果有唯一实根,则输出实根值;如果有两个实根,则输出两个实根值。