欢迎来到天天文库
浏览记录
ID:43352474
大小:124.50 KB
页数:25页
时间:2019-09-30
《浙江大学07计算机上机题(含答案)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一、最小长方形题目描述: 给定一系列2维平面点的坐标(x,y),其中x和y均为整数,要求用一个最小的长方形框将所有点框在内。长方形框的边分别平行于x和y坐标轴,点落在边上也算是被框在内。输入: 测试输入包含若干测试用例,每个测试用例由一系列坐标组成,每对坐标占一行,其中
2、x
3、和
4、y
5、小于231;一对0坐标标志着一个测试用例的结束。注意(0,0)不作为任何一个测试用例里面的点。一个没有点的测试用例标志着整个输入的结束。输出: 对每个测试用例,在1行内输出2对整数,其间用一个空格隔开。第1对整数是长方形框左下角的坐标,第2对整数是长方形框右上角的坐
6、标。样例输入:1256235613100012340000样例输出:1210235612341234答案:#includeusingnamespacestd;intmain(){intx1,y1,x2,y2,x,y;while(cin>>x>>y&&(x
7、
8、y)){x1=x2=x;y1=y2=y;while(cin>>x>>y&&(x
9、
10、y))x1=x1x?x2:x,y2=y2>y?y2:y;cout<11、0;}AC通过了另#includeusingnamespacestd;intMax(inta[],intf){ intma; ma=a[0]; for(inti=1;ima) ma=a[i]; } returnma; }intMin(inta[],intf){ intmi; mi=a[0]; for(inti=1;i12、intmain(){ inta1[461],a2[461],i,flag,m,n; //a1[0]=1; //flag=0; while(cin>>m>>n&&(m13、14、n)){ a1[0]=m;a2[0]=n; for(i=0;a1[i]!=015、16、a2[i]!=0;i++) cin>>a1[i+1]>>a2[i+1]; flag=i; cout<17、 return0;}用数组做的 仅供参考另:#includeintmain(){ intx,y,x_min,x_max,y_min,y_max; while(1) { x_min=232;x_max=-232; y_min=232;y_max=-232; while(scanf("%d%d",&x,&y)&&(x!=018、19、y!=0)) { if(x>x_max) x_max=x; if(x<20、x_min) x_min=x; if(y>y_max) y_max=y; if(y21、ain(){ intx1,y1,x2,y2; intx,y,flag; while(1) { x1=231;y1=231;x2=-231;y2=-231; while(1) { scanf("%d%d",&x,&y); if(x==0&&y==0) {flag++; if(flag==2)return1; else{printf("%d%d%d%d",x1,y1,x2,y2);break;} } else { flag=0; x22、1=x1
11、0;}AC通过了另#includeusingnamespacestd;intMax(inta[],intf){ intma; ma=a[0]; for(inti=1;ima) ma=a[i]; } returnma; }intMin(inta[],intf){ intmi; mi=a[0]; for(inti=1;i12、intmain(){ inta1[461],a2[461],i,flag,m,n; //a1[0]=1; //flag=0; while(cin>>m>>n&&(m13、14、n)){ a1[0]=m;a2[0]=n; for(i=0;a1[i]!=015、16、a2[i]!=0;i++) cin>>a1[i+1]>>a2[i+1]; flag=i; cout<17、 return0;}用数组做的 仅供参考另:#includeintmain(){ intx,y,x_min,x_max,y_min,y_max; while(1) { x_min=232;x_max=-232; y_min=232;y_max=-232; while(scanf("%d%d",&x,&y)&&(x!=018、19、y!=0)) { if(x>x_max) x_max=x; if(x<20、x_min) x_min=x; if(y>y_max) y_max=y; if(y21、ain(){ intx1,y1,x2,y2; intx,y,flag; while(1) { x1=231;y1=231;x2=-231;y2=-231; while(1) { scanf("%d%d",&x,&y); if(x==0&&y==0) {flag++; if(flag==2)return1; else{printf("%d%d%d%d",x1,y1,x2,y2);break;} } else { flag=0; x22、1=x1
12、intmain(){ inta1[461],a2[461],i,flag,m,n; //a1[0]=1; //flag=0; while(cin>>m>>n&&(m
13、
14、n)){ a1[0]=m;a2[0]=n; for(i=0;a1[i]!=0
15、
16、a2[i]!=0;i++) cin>>a1[i+1]>>a2[i+1]; flag=i; cout<17、 return0;}用数组做的 仅供参考另:#includeintmain(){ intx,y,x_min,x_max,y_min,y_max; while(1) { x_min=232;x_max=-232; y_min=232;y_max=-232; while(scanf("%d%d",&x,&y)&&(x!=018、19、y!=0)) { if(x>x_max) x_max=x; if(x<20、x_min) x_min=x; if(y>y_max) y_max=y; if(y21、ain(){ intx1,y1,x2,y2; intx,y,flag; while(1) { x1=231;y1=231;x2=-231;y2=-231; while(1) { scanf("%d%d",&x,&y); if(x==0&&y==0) {flag++; if(flag==2)return1; else{printf("%d%d%d%d",x1,y1,x2,y2);break;} } else { flag=0; x22、1=x1
17、 return0;}用数组做的 仅供参考另:#includeintmain(){ intx,y,x_min,x_max,y_min,y_max; while(1) { x_min=232;x_max=-232; y_min=232;y_max=-232; while(scanf("%d%d",&x,&y)&&(x!=0
18、
19、y!=0)) { if(x>x_max) x_max=x; if(x<
20、x_min) x_min=x; if(y>y_max) y_max=y; if(y21、ain(){ intx1,y1,x2,y2; intx,y,flag; while(1) { x1=231;y1=231;x2=-231;y2=-231; while(1) { scanf("%d%d",&x,&y); if(x==0&&y==0) {flag++; if(flag==2)return1; else{printf("%d%d%d%d",x1,y1,x2,y2);break;} } else { flag=0; x22、1=x1
21、ain(){ intx1,y1,x2,y2; intx,y,flag; while(1) { x1=231;y1=231;x2=-231;y2=-231; while(1) { scanf("%d%d",&x,&y); if(x==0&&y==0) {flag++; if(flag==2)return1; else{printf("%d%d%d%d",x1,y1,x2,y2);break;} } else { flag=0; x
22、1=x1
此文档下载收益归作者所有