如何在C语言中定义一个计算多项式函数(如f(x) = x^3 + 2x^2 + 5x + 1),并在主函数中调用该函数并输出其在x=3, 4, 和5处的函数值?语法要求简单一点
时间: 2024-12-22 13:26:21 浏览: 48
在C语言中,你可以通过结构体来表示多项式,并使用数组存储系数。这里是一个简单的例子:
首先,我们定义一个多项式的结构体:
```c
#include <stdio.h>
typedef struct {
int degree; // 次数
double coefficients[10]; // 系数数组,假设最多有9次项
} Polynomial;
// 定义计算多项式值的函数
double evaluate(Polynomial p, double x) {
int i;
double result = 0.0;
for (i = 0; i <= p.degree; i++) {
if (i == 0)
result += p.coefficients[i];
else
result += p.coefficients[i] * pow(x, i);
}
return result;
}
int main() {
Polynomial poly = {3, {1, 2, 5, 1}}; // 初始化多项式 f(x) = x^3 + 2x^2 + 5x + 1
double x_values[] = {3, 4, 5};
// 调用evaluate函数并输出结果
for (int i = 0; i < sizeof(x_values) / sizeof(x_values[0]); i++) {
double value = evaluate(poly, x_values[i]);
printf("f(%lf) = %lf\n", x_values[i], value);
}
return 0;
}
```
在这个示例中,`evaluate`函数遍历多项式的系数和对应的指数计算出给定x的值。在`main`函数中,我们创建了一个多项式对象poly,并设置了它的系数。然后对指定的x值调用了这个函数。
阅读全文
相关推荐


















