你好 帮我用c语言写一个程序 要求如下 求一元二次方程的实数解(精确到小数点后2位) ax2+bx+c=0, 输入a、b、c,输出方程的实数解。 sqrt(x)是求x的平方根库函数, 相应的头文件为math.h。
时间: 2023-05-18 08:03:08 浏览: 54
你好!以下是一元二次方程的实数解的C语言程序:
```c
#include <stdio.h>
#include <math.h>
int main() {
double a, b, c;
double 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;
}
```
希望能帮到你!
相关问题
帮我用c语言写一个程序 要求如下输入3个整数,输出它们的最小值和平均值(精确到小数点后两位)
好的,以下是用 C 语言编写的程序,实现输入三个整数,输出它们的最小值和平均值(精确到小数点后两位)的要求:
```
#include <stdio.h>
int main() {
int a, b, c;
float average;
printf("请输入三个整数:\n");
scanf("%d%d%d", &a, &b, &c);
// 计算最小值
int min = a;
if (b < min) {
min = b;
}
if (c < min) {
min = c;
}
printf("三个整数的最小值是:%d\n", min);
// 计算平均值
average = (a + b + c) / 3.0;
printf("三个整数的平均值是:%.2f\n", average);
return 0;
}
```
希望我的回答能够帮助到您。
用c语言写一个求一元二次方程的解程序
```c
#include <stdio.h>
#include <math.h>
int main() {
double a, b, c, delta, x1, x2;
printf("请输入一元二次方程的系数a,b,c:");
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=%.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;
}
```
这个程序输入一元二次方程的系数a、b和c,计算判别式delta,根据delta的值判断方程的根的情况并输出结果。如果delta<0,则方程无实数根;如果delta=0,则方程有一个实数根,计算公式为x=-b/(2a);如果delta>0,则方程有两个实数根,计算公式为x1=(-b+sqrt(delta))/(2a),x2=(-b-sqrt(delta))/(2a)。其中,sqrt函数是求平方根的函数。