#include<stdio.h> #include<algorithm> using namespace std; int main() { double x[5],y[5]; while(scanf("%lf%lf%lf%lf%lf%lf%lf%lf",&x[1],&y[1],&x[2],&y[2],&x[3],&y[3],&x[4],&y[4])!=EOF) { if(x[2]<x[3]||x[4]<x[1]||y[2]<y[3]||y[4]<y[1])//相离的情况 printf("0.00 "); else { if(x[1]>=x[3]&&x[2]<=x[4]&&y[1]>=y[3]&&y[2]<=y[4])//1在2内 printf("%.2lf ",(x[2]-x[1])*(y[2]-y[1])); else if(x[1]<x[3]&&x[2]>x[4]&&y[1]<y[3]&&y[2]>y[4])//2在1内 printf("%.2lf ",(x[4]-x[3])*(y[4]-y[3])); else { sort(x+1,x+5); sort(y+1,y+5); printf("%.2lf ",(x[3]-x[2])*(y[3]-y[2]));//相交的情况 } } } return 0; }
这个代码wa了,,,大神帮忙看看漏哪了?