///////////////////////////////////////////////////////////////////////////////////////////////// #include<iostream> using namespace std; float func(float x0) { cout<<"输入节点数"<<endl; int num,i,j; cin>>num; float *px = new float[num]; float *py = new float[num]; float **martrix = new float*[num]; for(j = 0;j<num;j++) martrix[j] = new float[num+1]; float result = 0.0,tmp = 1.0; for(i = 0;i<num;i++) { cin>>px[i]>>py[i]; martrix[i][0] = px[i]; martrix[i][1] = py[i]; } cout<<"差商表为"<<endl; for(i = 1;i<num;i++) { for(j = 2;j<=i+1;j++) { martrix[i][j] = (martrix[i][j-1] - martrix[i-1][j-1])/(martrix[i][0] - martrix[i-j+1][0]); } } for(i = 0;i<num;i++) { for(j = 0;j<=i+1;j++) cout<<martrix[i][j]<<" "; cout<<endl; } result += py[0]; for(i = 1;i<=num-1;i++) { for(j = 0;j<i;j++) { tmp = tmp * (x0 - px[j]); } tmp = tmp * martrix[j][j+1]; result += tmp; tmp = 1.0; } return result; } int main() { float x; cin>>x; cout<<func(x)<<endl; return 0; }