矩形面積交



問題描述

  平面上有兩個矩形,它們的邊平行於直角座標系的X軸或Y軸。對於每個矩形,我們給出它的一對相對頂點的座標,請你編程算出兩個矩形的交的面積。

輸入格式

  輸入僅包含兩行,每行描述一個矩形。
  在每行中,給出矩形的一對相對頂點的座標,每個點的座標都用兩個絕對值不超過10^7的實數表示。

輸出格式

  輸出僅包含一個實數,爲交的面積,保留到小數後兩位。

樣例輸入

1 1 3 3
2 2 4 4

樣例輸出

1.00


<span style="font-size:18px;">#include<stdio.h>

typedef struct S{
    float x;
    float y;
}S;

double min(int a,int b){
  return  a<b?a:b;

}

double max(int c,int d){
  return  c>d?c:d;
}

int main(){
    S p1,p2,p3,p4,p5,p6;

    scanf("%1f%1f%1f%1f",&p1.x,&p1.y,&p2.x,&p2.y);
    scanf("%1f%1f%1f%1f",&p3.x,&p3.y,&p4.x,&p4.y);
    p5.x = max(min(p1.x,p2.x),min(p3.x,p4.x));
    p5.y = max(min(p1.y,p2.y),min(p3.y,p4.y));
    p6.x = min(max(p1.x,p2.x),max(p3.x,p4.x));
    p6.y = min(max(p1.y,p2.y),max(p3.y,p4.y));

    if(p5.x <= p6.x){
        printf("%.2f",(p6.x-p5.x)*(p6.y-p5.x));
    }
    else{
        printf("兩個矩形沒有相交");
    }
    return 0;
}
</span>

發佈了35 篇原創文章 · 獲贊 18 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章