- 论坛徽章:
- 0
|
#include "stdio.h"
#include "math.h"
#include "graphics.h"
#define N 3
J(int n)
{
int i,sum=1;
if(n=0) sum=1;
else
for(i=1;i<=n;i++) sum=sum*i;
return(sum);
}
double B(int k,int n,double t)
{
double a,e,f;long int b,c,d;
b=J(n);c=J(k);d=J(n-k);e=pow(t,k*1.0);f=pow(1.0-t,(n-k)*1.0);
a=b/(c*d)*e*f;
return(a);
}
double X(double t,int P[N+1][2])
{
int i;long int x=0;double z;
for(i=0;i<=N;i++)
{
z=B(i,N,t);
x+=P[0]*z;
}
return(x);
}
double Y(double t,int P[N+1][2])
{
int i,y=0;double z;
for(i=0;i<=N;i++)
{
z=B(i,N,t);
y+=P[1]*z;
}
return(y);
}
void main()
{
int A[50],B[50],P[4][2];int i,j,l,m=49;double a;
int gm,gd=DETECT;
initgraph(&gd,&gm,"C:\\JMSOFT\\CYuYan\\tc");
printf("Input chu shi zuo biao:\n");
for(i=0;i<=3;i++)
{
printf("P[%d][0]=",i);
scanf("%d",&P[0]);
printf("P[%d][1]=",i);
scanf("%d",&P[1]);
}
for(l=0;l<50;l++)
{
a=(l*1.0)/m;
A[l]=X(a,P);B[l]=Y(a,P);
printf("A[%d]=%d,B[%d]=%d",l,A[l],l,B[l]);
}
setcolor(10);
for(j=0;j<49;j++) line(A[j],B[j],A[j+1],B[j+1]);
setcolor(12);
for(i=0;i<3;i++)
line(P[0],P[1],P[i+1][0],P[i+1][1]);
getch();
closegraph();
} |
|