编写c语言,由键盘输入一个一元二次方程,a*x*x+b*x+c=0(a!=0)的a,b,c的值,求方程的解
时间: 2023-05-30 18:04:24 浏览: 111
```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;
}
```
相关问题
编写c语言程序,由键盘输入一元二次方程 02+6xtc=0a*0 的a.b,c的值,求方程的解
```c
#include <stdio.h>
#include <math.h>
int main() {
double a, b, c;
double delta, x1, x2;
printf("请输入一元二次方程的系数:\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;
}
```
说明:
1. 可以使用`double`类型存储系数和解,以避免精度问题。
2. 判别式小于0,则方程无实根,输出提示信息即可。
3. 判别式等于0,则方程有唯一实根,直接求解并输出。
4. 判别式大于0,则方程有两个实根,分别求解并输出。对于$x_1$和$x_2$,我们保留两位小数输出,使用`%.2lf`的格式控制符。
C语言编写程序由键盘输入一元二次方程 A的平方x+bx +c(a≠0)
好的,以下是用 C 语言编写的程序,可以通过键盘输入一元二次方程的系数 A、B、C,然后求出该方程的解。请参考以下代码:
```c
#include <stdio.h>
#include <math.h>
int main() {
float A, B, C, delta, x1, x2;
printf("请输入一元二次方程的系数:\n");
scanf("%f%f%f", &A, &B, &C);
delta = B * B - 4 * A * C;
if (delta < 0) {
printf("该方程无实数解\n");
} else if (delta == 0) {
x1 = -B / (2 * A);
printf("该方程有唯一实数解 x = %f\n", x1);
} else {
x1 = (-B + sqrt(delta)) / (2 * A);
x2 = (-B - sqrt(delta)) / (2 * A);
printf("该方程有两个实数解 x1 = %f, x2 = %f\n", x1, x2);
}
return 0;
}
```
在这个程序中,我们使用 `scanf` 函数从标准输入中读取用户输入的系数 A、B、C,然后计算方程的解并输出结果。当 delta 小于 0 时,方程无实数解;当 delta 等于 0 时,方程有唯一实数解;当 delta 大于 0 时,方程有两个实数解。
阅读全文