7 #include <stdio.h>
8 #include <stdlib.h>
9 #define LEN 3
10 int hornor(int [],int,int);
11 int main()
12 {
13 int a[3]={1,2,3};//数组表示多项式的系数
14 int x=2;//多项式的自变量值
15 int result=0;//存放结果
16 result = hornor(a,0,2);
17 printf("%d\n",result);
18 exit(0);
19 }
20
21 int hornor(int list[],int n,int x)
22 //利用递归实现霍纳规则
23 {
24 if(n == LEN-1)
25 {
26 return list[LEN-1];//递归出口
27 }
28 else
29 {
30 return hornor(list,n+1,x)*x+list[n];//递归过程
31 }
32 }
利用霍纳规则的好处:使得计算多项式的值时,乘法次数最少