0053 输入若干个点的坐标(x,y), x,y都是正整数。当输入(0,0)时表示输入结束。现要求输入完毕以后,输出一个长方形左下角和右上角的坐标。要求长方形区域覆盖所有坐标点。(若只输入了一个点的坐

问题描述:

  输入若干个点的坐标(x,y), x,y都是正整数。当输入(0,0)时表示输入结束。现要求输入完毕以后,输出一个长方形左下角和右上角的坐标。要求长方形区域覆盖所有坐标点。(若只输入了一个点的坐标,则可以只输出一个点)

代码展示:

 1 #include<stdio.h>
 2 int main(){
 3     int x,y;
 4     int count = 0;
 5     int i,j; 
 6     int point[100][2];        //存储输入的点 
 7     int left,right,up,down;    //矩形上下左右四个点 
 8     printf("请输入坐标点,(0,0)表示结束:\n");
 9     scanf("%d %d",&point[count][0],&point[count][1]);
10     while(!(point[count][0]==0 &&point[count][1]==0)){
11         count++;
12         scanf("%d %d",&point[count][0],&point[count][1]);
13     }
14     left = right = point[0][0];
15     up = down = point[0][1];
16     for(i=1; i<=count; i++){                //找左下角和右上角坐标 
17         if(point[i][0] > right){
18             right = point[i][0];
19         }
20         if(point[i][0] < left){
21             left = point[i][0];
22         }
23         if(point[i][1] > up){
24             up = point[i][1];
25         }
26         if(point[i][1] < down){
27             down = point[i][1];
28         }
29     }
30     if(count == 1){
31         printf("只输入了一个点,此点为:(%d, %d)\n",point[0][0],point[0][1]);
32         return 0;
33     }else{
34         printf("左下角的坐标为:(%d, %d)\n",left,down);
35         printf("右上角的坐标为:(%d, %d)\n",right,up);
36     }
37     return 0;
38 } 

运行截图:

0053 输入若干个点的坐标(x,y), x,y都是正整数。当输入(0,0)时表示输入结束。现要求输入完毕以后,输出一个长方形左下角和右上角的坐标。要求长方形区域覆盖所有坐标点。(若只输入了一个点的坐

0053 输入若干个点的坐标(x,y), x,y都是正整数。当输入(0,0)时表示输入结束。现要求输入完毕以后,输出一个长方形左下角和右上角的坐标。要求长方形区域覆盖所有坐标点。(若只输入了一个点的坐

上一篇:ACM-ICPC 2018 徐州赛区网络预赛 F. Features Track(模拟 || dp)


下一篇:MFS分布式(一)