1. 程式人生 > 其它 >0053 輸入若干個點的座標(x,y), x,y都是正整數。當輸入(0,0)時表示輸入結束。現要求輸入完畢以後,輸出一個長方形左下角和右上角的座標。要求長方形區域覆蓋所有座標點。(若只輸入了一個點的座標,則可以只輸出一個點)

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 }

執行截圖: