| ||||||||||
Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:第一道几何题目!很给In Reply To:第一道几何题目!很给 Posted by:chenxuan123456789 at 2012-08-10 16:52:15 #include <stdio.h> #include <math.h> double a[2][2]; double b[2][2]; int main() { int cases; printf("INTERSECTING LINES OUTPUT\n"); scanf("%d",&cases); while(cases--) { scanf("%lf %lf %lf %lf %lf %lf %lf %lf",&a[0][0],&a[0][1],&a[1][0],&a[1][1],&b[0][0],&b[0][1],&b[1][0],&b[1][1]); //printf("%lf %lf %lf %lf %lf %lf %lf %lf\n",a[0][0],a[0][1],a[1][0],a[1][1],b[0][0],b[0][1],b[1][0],b[1][0],b[1][1]); double a1,a2; double b1,b2; double k1,k2,k11,k22; a1=a[1][0]-a[0][0]; a2=a[1][1]-a[0][1]; b1=b[1][0]-b[0][0]; b2=b[1][1]-b[0][1]; // printf("%lf %lf %lf %lf\n",a1,a2,b1,b2); if(a1*b2==a2*b1) { if(a2/a1*(-a[0][0])+a[0][1]==b2/b1*(-b[0][0])+b[0][1]) printf("LINE\n"); else printf("NONE\n"); } else { if(a1==0||b1==0) { if(a1==0) { printf("POINT %.2f",a[0][0]); k2=b2/b1; printf(" %.2f\n",k2*(a[0][0]-b[0][0])+b[0][1]); } else if(b1==0) { printf("POINT %.2f",b[0][0]); k1=a2/a1; printf(" %.2f\n",k1*(b[0][0]-a[0][0])+a[0][1]); } } else { k1=a2/a1; k2=b2/b1; k11=k1*(-a[0][0])+a[0][1]; k22=k2*(-b[0][0])+b[0][1]; printf("POINT %.2f %.2f\n",((k22-k11)/(k1-k2)),((k11*k2-k22*k1)/(k2-k1))); } } } printf("END OF OUTPUT\n"); return 1; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator