用c语言设计函数fun,其功能是 根据一个一元二次方程的系数a,b,c,判读是否有实根,并将结果返回到主函数中。 在主函数中,调用该函数,并求出该方程的解。 要求:输入输出 在主函数中完成
时间: 2024-02-15 18:02:31 浏览: 71
好的,我知道了。以下是实现上述功能的C函数fun的代码:
```c
#include <stdio.h>
#include <math.h>
int fun(float a, float b, float c, float *x1, float *x2) {
float delta = b * b - 4 * a * c;
if (delta < 0) {
return 0; // 无实根
} else if (delta == 0) {
*x1 = *x2 = -b / (2 * a);
return 1; // 有一个实根
} else {
*x1 = (-b + sqrt(delta)) / (2 * a);
*x2 = (-b - sqrt(delta)) / (2 * a);
return 2; // 有两个实根
}
}
int main() {
float a, b, c, x1, x2;
printf("请输入一元二次方程的系数a, b, c:\n");
scanf("%f%f%f", &a, &b, &c);
int result = fun(a, b, c, &x1, &x2);
if (result == 0) {
printf("该一元二次方程无实根\n");
} else if (result == 1) {
printf("该一元二次方程有一个实根:%f\n", x1);
} else {
printf("该一元二次方程有两个实根:%f, %f\n", x1, x2);
}
return 0;
}
```
在上述代码中,我们先定义了一个名为fun的函数,该函数接收三个浮点类型的参数a、b、c,分别表示一元二次方程的系数,以及两个浮点类型的指针x1、x2,用于存储一元二次方程的根。函数体中,我们首先计算出一元二次方程的判别式delta,然后根据delta的值判断方程的根的情况,并将结果存储在x1、x2指针所指向的内存中,最后返回一个整型值,表示方程的实根个数。
在主函数中,我们先通过scanf函数获取用户输入的方程系数a、b、c的值,然后调用fun函数计算方程的根,并根据fun函数的返回值输出相应的结果。
希望以上代码对您有所帮助!
阅读全文