问题通式:
求指定点X处的函数值。
思路:
运用秦九韶算法
将多项式表述成如下嵌套模式:
于是可以转换成程序语言思想:
可通过for循环来实现。
代码实现:
C语言代码如下:
#include <stdio.h> /* *函数名:double odpf(double array[], int n, double x) *参数:double array[] 系数数组 * int n 表示n项 * double x x的值 *返回值:计算结果sum *说明:One dimensional polynomial function 一维多项式求值 */ double odpf(double array[], int n, double x) { double sum; sum = array[n-1]; for (int i = n - 2; i >= 0; i--){ sum = sum * x + array[i]; } return sum; } int main(){ double array[100]; double x; int n; printf("请输入项数:"); scanf("%d",&n); printf("请输入系数(空格隔开):"); for (int i = n - 1; i >= 0; i--){ scanf("%lf",&array[i]); } while (true){ printf("请输入x的值:"); scanf("%lf", &x); printf("x = %5.2lf, p(%5.2lf) = %.2lf\n\n", x, x, odpf(array, n, x)); } return 0; }
测试值:
3 1 2 3 2 结果:11.00 6 2 3 1 4 5 3 3 结果:810.00
程序运行结果:
经检验,算法设计正确。
时间: 2024-11-15 09:42:29