c语言求两个矩形重叠面积
时间: 2024-01-31 09:03:01 浏览: 206
C++计算俩矩形的重叠面积
假设两个矩形的左上角坐标分别为(x1, y1), (x2, y2),右下角坐标分别为(x3, y3), (x4, y4)。
重叠矩形的左上角坐标为(max(x1, x2), max(y1, y2)),右下角坐标为(min(x3, x4), min(y3, y4))。
如果两个矩形不重叠,那么它们的重叠矩形的左上角坐标一定比右下角坐标的横坐标要大,或者比纵坐标要大,此时重叠面积为0。
如果重叠矩形存在,则重叠面积为重叠矩形的宽度乘以高度,即:
int overlap_area(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4) {
int overlap_width = max(0, min(x3, x4) - max(x1, x2));
int overlap_height = max(0, min(y3, y4) - max(y1, y2));
return overlap_width * overlap_height;
}
其中,overlap_width为重叠矩形的宽度,overlap_height为重叠矩形的高度,max函数返回两个数的较大值,min函数返回两个数的较小值。
阅读全文