资源描述:
《拉格朗日插值--C语言实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、附页1.源程序4#include"stdlib.h"#include"stdio.h"#include"conio.h"#include"string.h"#include"graphics.h"#include"math.h"typedefstruct{floatx;floaty;}POINT;floatLagrange(POINTTable[],intn,floatx);voidInitGraph(){intgdriver=DETECT,gmode;initgraph(&gdriver,&gmode,"");}voidline1(intx1,inty1,intx2,i
2、nty2,intcolor){setcolor(color);line(x1,y1,x2,y2);}voidouttextxy1(intx,inty,chartext[],intcolor){setcolor(color);outtextxy(x,y,text);}voidouttextxy2(intx,inty,floatRealNumber,intLength,intcolor){charString[20];setcolor(color);gcvt(RealNumber,Length,String);outtextxy(x,y,String);}voidShowTa
3、ble(POINTTable[],intn){inti;charString_x[20],String_y[20];line1(0,20,639,20,7);line(30,0,30,40);outtextxy1(10,8,"x",14);outtextxy1(10,28,"y",14);for(i=0;i4、_x;Max_x=0.0;for(i=0;i5、ty1,floatx2,floaty2){charString[20];line1(X1,(Y1+Y2)/2,X2,(Y1+Y2)/2,7);line(X2,(Y1+Y2)/2,X2-10,(Y1+Y2)/2-2);line(X2,(Y1+Y2)/2,X2-10,(Y1+Y2)/2+2);line((X1+X2)/2,Y1,(X1+X2)/2,Y2);line((X1+X2)/2,Y1,(X1+X2)/2-2,Y1+10);line((X1+X2)/2,Y1,(X1+X2)/2+2,Y1+10);line((X1+X2)/2+(X2-X1)/4,(Y1+Y2)/2-4,(
6、X1+X2)/2+(X2-X1)/4,(Y1+Y2)/2);gcvt((x1+x2)/2+(x2-x1)/4,6,String);4outtextxy((X1+X2)/2+(X2-X1)/4-3,(Y1+Y2)/2+4,String);line((X1+X2)/2-(X2-X1)/4,(Y1+Y2)/2-4,(X1+X2)/2-(X2-X1)/4,(Y1+Y2)/2);gcvt(-((x1+x2)/2+(x2-x1)/4),6,String);outtextxy((X1+X2)/2-(X2-X1)/4-3,(Y1+Y2)/2+4,String);line((X1+X2)/
7、2+4,(Y1+Y2)/2-(Y2-Y1)/4,(X1+X2)/2,(Y1+Y2)/2-(Y2-Y1)/4);gcvt(-((y1+y2)/2+(y2-y1)/4),6,String);outtextxy((X1+X2)/2+8,(Y1+Y2)/2-(Y2-Y1)/4-2,String);line((X1+X2)/2+4,(Y1+Y2)/2+(Y2-Y1)/4,(X1+X2)/2,(Y1+Y2)/2+(Y2-Y1)/4);gcvt(((y1+y2)/2+(y2-y1)/4),6,String);outtextxy((X1+X2