Horner规律

Horner法则

//Horner法则 求 多项式的值 
//author:zhuxuehan
//blog:hi.baidu.com/boyzxh
#include<stdio.h>
#include<stdlib.h>
#define maxsize 100

int horner(int xishu[],int n,int x);

int main(){
     int xishu[maxsize];    //存放系数 
     int n;                 //n次多项式 
     int x;                 //关于x的多项式 
     int i,j;               //循环变量
     int res;               //结果 
     printf("共有几次?");
     scanf("%d",&n);
     printf("依次输入系数:");
     if((n+1)<maxsize){
        for(i=0;i<n+1;i++)      //最高次为n时,共有n+1项,因为还有0次项 
            scanf("%d",&xishu[i]);     
     }
     else return -1;
     printf("x的值:");
     scanf("%d",&x);
     res = horner(xishu,n,x);
     printf("结果是:%d\n",res);     
     system("pause");
     return 0;
}

int horner(int xishu[],int n,int x){
//horner法则求多项式 
    int i;
    int res = xishu[n];
    for(i=1;i<=n;i++)
        res = res*x + xishu[n-i];
    return res;
}

/*
求 x^3 + 2x + 3的值---------------  3*x^0 + 2*x + 0*x^2 + 1*x^3
则:
最高次为:3
依次输入的系数为:3 2 0 1
当x=2时,值为15。
*/