您的位置:首页 > 其它

两个矩形重叠部分面积

2016-11-19 08:19 309 查看
#include<stdio.h>
#include<math.h>
#define min(a,b) ( ((a)>(b)) ? (b):(a) )
#define max(a,b) ( ((a)>(b)) ? (a):(b) )

typedef struct xy
{
int x;
int y;
}xy;

void main()
{
xy a[4];
int s,chang,kuang;

while (true)
{
printf("Please input 4 x,y:for example 1,2\n");
for(int i=0;i<4;i++)
{
scanf("%d,%d",&a[i].x,&a[i].y);
}

chang=min(abs(a[1].x-a[0].x),abs(a[3].x-a[2].x));
kuang=min(abs(a[1].y-a[0].y),abs(a[3].y-a[2].y));

if(min(a[2].x,a[3].x)>max(a[0].x,a[1].x)||max(a[2].x,a[3].x)<min(a[0].x,a[1].x)||min(a[2].y,a[3].y)>max(a[0].y,a[1].y)||max(a[2].y,a[3].y)<min(a[0].y,a[1].y))
{
s=0;
}
else
{
s=min(min(abs(a[2].x-a[1].x),abs(a[3].x-a[0].x)),chang)*min(min(abs(a[2].y-a[1].y),abs(a[3].y-a[0].y)),kuang);
}

printf("%d\n",s);
}

}




                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: