题目大意:
你将会读到一系列的坐标。你的任务是画一个长方形包围住所有的点
解题思路:
找最小和最大的x坐标和y坐标就可以了。
代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
int main()
{
int a[100],b[100],i=0,j,min1,min2,max1,max2;
while(scanf("%d%d",&a[i],&b[i])==2)
{
if(a[0]==0&&b[0]==0)
break;
i++;
if(a[i-1]==0&&b[i-1]==0)
{
min1=a[0];min2=b[0];max1=a[0];max2=b[0];
for(j=0;j<i-1;j++)
{
if(min1>a[j])
min1=a[j];
if(min2>b[j])
min2=b[j];
if(max1<a[j])
max1=a[j];
if(max2<b[j])
max2=b[j];
}
printf("%d %d %d %d\n",min1,min2,max1,max2);
i=0;
}
}
return 0;
}
本文介绍了一种通过寻找坐标系中一系列点的最小和最大x、y坐标来绘制包围这些点的矩形的方法。该算法适用于需要快速确定一组点边界的应用场景。
113

被折叠的 条评论
为什么被折叠?



