c语言设计函数fun,其功能是 根据一个一元二次方程的系数a,b,c,判读是否有实根,并将结果返回到主函数中。 在主函数中,调用该函数,并求出该方程的解。 要求:输入输出 在主函数中完成
时间: 2024-02-13 18:07:26 浏览: 68
好的,我会为您编写这个函数fun。以下是C语言代码示例:
```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 = -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("该方程有一个实根,x = %f。\n", x1);
}
else {
printf("该方程有两个实根,x1 = %f,x2 = %f。\n", x1, x2);
}
return 0;
}
```
在这个示例中,我们定义了一个名为fun的函数,它采用三个浮点数参数a、b和c表示一元二次方程的系数,以及两个指向浮点数的指针x1和x2,它们将用于返回方程的实根。该函数返回一个整数,表示该方程有多少个实根(0、1或2)。
在主函数中,我们首先要求用户输入方程的系数a、b和c,然后调用函数fun,并将返回的结果存储在result变量中。然后,我们根据result的值打印出有关该方程实根的信息。
希望这个示例代码可以帮助您解决问题。
阅读全文