问题描述:
输入若干个点的坐标(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 }
运行截图: