实验六.cpp

来自「数据结构3」· C++ 代码 · 共 44 行

CPP
44
字号
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <stdlib.h>
#define N 20
void Difference(float *x,float *y,int n)
{
	float *f;
	int i,j;
	f=new float[n];
	for(i=1;i<=n;i++)
	{
		f[0]=y[i];
		for(j=0;j<i;j++)
			f[j+1]=(f[j]-y[j])/(x[i]-x[j]);
		y[i]=f[i];
	}
	return;
}
main()
{
	int i,n;
	float x,y;
	float a[N];
	float b[N];

	cout<<"请输入插值多项式的次数:"<<endl;
	cin>>n;
	cout<<"请输入数据x:"<<endl;
	for(i=0;i<=n;i++)
		cin>>a[i];
	cout<<"请输入数据y:"<<endl;
	for(i=0;i<=n;i++)
		cin>>b[i];
	cout<<"请输入所求x:"<<endl;
	cin>>x;
	Difference(a,(float *)b,n);
	y=b[n];
	for(i=n-1;i>=0;i--)
		y=y*(x-a[i])+b[i];
	cout<<"最后的运算结果是:"<<"x--"<<x<<"   "<<"y--"<<y<<endl;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?