输入若干个点的坐标(x,y),x,y都是正整数。输入(0,0)表示输入结束。现要求输入完毕以后,输出一个长方形左下角和右上角的坐标。要求长方形区域覆盖所有输入点坐标。
#include<stdio.h>
#define N 100
struct point{
int x;
int y;
}P[N];
int main(){
printf("请输入若干点的坐标:\n");
int i;
for(i=0;i<N;i++){
printf("第%d个:",i+1);
scanf("%d %d",&P[i].x,&P[i].y);
if(P[i].x==0&&P[i].y==0)
break;
}
int x1=P[0].x,x2=P[0].x;//x1为横坐标最小值 x2为横坐标最大值
int y1=P[0].y,y2=P[0].y;//y1为纵坐标最小值 y2为纵坐标最大值
for(int j=1;j<i;j++){
if(P[j].x<x1)
x1=P[j].x;
if(P[j].x>x2)
x2=P[j].x;
if(P[j].y<y1)
y1=P[j].y;
if(P[j].y>y2)
y2=P[j].y;
}
printf("覆盖全部点的矩形左下角坐标:(%d,%d)",x1,y1);
printf("覆盖全部点的矩形右上角坐标:(%d,%d)",x2,y2);
}