翁恺C语言进阶期末考试

xiaoxiao2021-02-28  37

第五题 C,第八题 C。

 

编程题

 

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(){ int N, index[4], x, y; scanf("%d", &N); scanf("%d %d %d %d", &index[0], &index[1], &index[2], &index[3]); N -= 2; while(N--){ scanf("%d %d", &x, &y); if(x < index[0]) index[0] = x; if(y < index[1]) index[1] = y; if(x > index[2]) index[2] = x; if(y > index[3]) index[3] = y; } printf("%d %d %d %d\n", index[0], index[1], index[2], index[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; }

 

转载请注明原文地址: https://www.6miu.com/read-2629113.html

最新回复(0)