藍橋杯 矩形的面積交 C語言

2021-08-25 14:00:15 字數 1063 閱讀 9789

/*問題描述

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

輸入格式

輸入僅包含兩行,每行描述乙個矩形。

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

輸出格式

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

樣例輸入

1 1 3 3

2 2 4 4

樣例輸出

1.00*/

分析:

1.如何判斷兩個矩形是否有交?

可以先假設是由交集的,然後和題目一樣算出相交矩形對角線上的兩個點的座標,矩形的長和寬都是大於0的,所以就可以用兩個點的橫縱座標的比較作為判斷。

注意:因題目要求要保留兩位小數,所以為了結果的精確度,兩點的座標都要設為double型,這樣更嚴謹。

# include 

# include

# define max(x,y) ((x)>(y)?(x):(y))

# define min(x,y) ((x)<(y)?(x):(y))

int main()

//根據已給出的點座標,得出交矩形兩點座標

x1=max(min(a[0][0],a[0][2]),min(a[1][0],a[1][2]));

y1=max(min(a[0][1],a[0][3]),min(a[1][1],a[1][3]));

x2=min(max(a[0][0],a[0][2]),max(a[1][0],a[1][2]));

y2=min(max(a[0][1],a[0][3]),max(a[1][1],a[1][3]));

//長和寬不為0

if(x2>x1&&y2>y1)

printf("%.2lf",(x2-x1)*(y2-y1));

else

printf("0.00");

return

0; }

藍橋杯 矩形面積交

問題描述 平面上有兩個矩形,它們的邊平行於直角座標系的x軸或y軸。對於每個矩形,我們給出它的一對相對頂點的座標,請你程式設計算出兩個矩形的交的面積。輸入格式 輸入僅包含兩行,每行描述乙個矩形。在每行中,給出矩形的一對相對頂點的座標,每個點的座標都用兩個絕對值不超過10 7的實數表示。輸出格式 輸出僅...

藍橋杯 基礎 矩形面積交

題目 基礎練習 矩形面積交 時間限制 1.0s 記憶體限制 512.0mb 問題描述 平面上有兩個矩形,它們的邊平行於直角座標系的x軸或y軸。對於每個矩形,我們給出它的一對相對頂點的座標,請你程式設計算出兩個矩形的交的面積。輸入格式 輸入僅包含兩行,每行描述乙個矩形。在每行中,給出矩形的一對相對頂點...

藍橋杯 基礎練習 矩形面積交

問題描述 平面上有兩個矩形,它們的邊平行於直角座標系的x軸或y軸。對於每個矩形,我們給出它的一對相對頂點的座標,請你程式設計算出兩個矩形的交的面積。輸入格式 輸入僅包含兩行,每行描述乙個矩形。在每行中,給出矩形的一對相對頂點的座標,每個點的座標都用兩個絕對值不超過10 7的實數表示。輸出格式 輸出僅...