1
最小包围矩形(10分)
题目内容:
给定一组二维坐标,表示直角坐标系内的一个多边形的连续的顶点的坐标序列。计算能包围这个多边形的平行于坐标轴的最小矩形,输出它的左下角和右上角的坐标。
输入格式:
第一行是一个正整数n表示顶点的数量,第二行是n组整数,依次表示每个顶点坐标的x和y值。
输出格式:
四个整数,依次表示所计算的矩形的左下角的坐标的x、y值和右上角坐标的x、y值。输出最后带有回车换行。
输入样例:
5
1 1 1 4 3 7 4 4 4 1
输出样例:
1 1 4 7
时间限制:500ms内存限制:32000kb
#include<stdio.h>
int main(void)
{ int a,b[4],i,x,y;
scanf("%d",&a);
scanf("%d %d %d %d",&b[0],&b[1],&b[2],&b[3]);
for(i=0;i<a-2;i++)
{
scanf("%d %d",&x,&y);
if(x<b[0] ) b[0]=x;
if(y<b[1] ) b[1]=y;
if(x>b[2] ) b[2]=x;
if(y>b[3] ) b[3]=y;
}
printf("%d %d %d %d\n",b[0],b[1],b[2],b[3]);
return 0;
}
2
分数比较(10分)
题目内容:
本题要求编写程序,比较两个分数的大小。
输入格式:
输入在一行中按照“a1/b1 a2/b2”的格式给出两个分数形式的有理数,其中分子和分母全是int类型范围内的正整数。
输出格式:
在一行中按照“a1/b1 关系符 a2/b2”的格式输出两个有理数的关系。其中“>”表示“大于”,“<”表示“小于”,“=”表示“等于”。
注意在关系符前后各有一个空格。
输入样例:
1/2 3/4
输出样例:
1/2 < 3/4
时间限制:500ms内存限制:32000kb
#include<stdio.h>
int main(){
long long a1, b1, a2, b2, m, n;
scanf("%ld/%ld %ld/%ld", &a1, &b1, &a2, &b2);
m = a1 * b2, n = a2 * b1;
if(m > n) printf("%ld/%ld > %ld/%ld\n", a1, b1, a2, b2);
else if(m == n) printf("%ld/%ld = %ld/%ld\n", a1, b1, a2, b2);
else printf("%ld/%ld < %ld/%ld\n", a1, b1, a2, b2);
return 0;
}