#include<stdio.h>
#include<stdlib.h>
#include<graphics.h>
double qiuhe1(double a[10][2],int p)
{
int i;
double y;
y=0;
for(i=0;i<10;i++)
y=y+a[i][p];
return y;
}
double qiuhe2(double a[10][2],int p)
{
int i;
double y=0;
for(i=0;i<10;i++)
y=y+a[i][0]*a[i][p];
return y;
}
double nihe(double a[10][2],double x)
{
double a1,b,y;
a1=(10*qiuhe2(a,1)-qiuhe1(a,0)*qiuhe1(a,1))/(10*qiuhe2(a,0)-qiuhe1(a,0)*qiuhe1(a,0));
b=(qiuhe2(a,0)*qiuhe1(a,1)-qiuhe1(a,0)*qiuhe2(a,1))/(10*qiuhe2(a,0)-qiuhe1(a,0)*qiuhe1(a,0));
y=a1*x+b;
return y;
}
int main()
{
double a[10][2]={0,68,10,67.1,20,66.4,30,65.6,40,64.6,50,61.8,
60,61.0,70,60.8,80,60.4,90,60};
double x,x1,q=1;
char c[12];
int i;
long n;
int arw[6]={515,235,520,240,515,245};
int arw1[6]={315,45,320,40,325,45};
int gdriver=IBM8514;
int gmode=IBM8514HI;
initgraph(&gdriver, &gmode, "c:\\TC20\\BGI");
cleardevice();
printf("input x:\n");
scanf("%lf",&x);
printf("%f\n",nihe(a,x));
n=nihe(a,x)*1000000+1;
c[0]='y';c[1]='=';
c[4]='.';
for(i=10;i>1;i--)
{
if(i!=4)
{
c[i]=n%10+48;
n=n/10;
}
}
c[11]='\0';
x1=x;
setbkcolor(7);
setcolor(14);
setlinestyle(0,0,3);
drawpoly(3,arw);
drawpoly(3,arw1);
line(120,240,520,240);
line(320,40,320,440);
x=0;
setcolor(2);
setlinestyle(0,0,1);
line((0+320),(int)(240-nihe(a,0)*q),(90+320),(int)(240-nihe(a,90)*q));
setcolor(3);
outtextxy(320,30,"Y");
outtextxy(310,245,"O");
outtextxy(525,240,"X");
outtextxy((x1+330),((240-nihe(a,x1))-10),c);
settextstyle(4,0,4);
outtextxy(450,400,"Nihe...");
for(i=0;i<=9;i++)
putpixel((a[i][0]+320),(240-a[i][1]*q),11);
setcolor(4);
setlinestyle(1,0,1);
line((x1+320),((240-nihe(a,x1)*q)-80),(x1+320),((240-nihe(a,x1)*q)+120));
getch();
closegraph();
}