蓝桥杯试题 基础练习 矩形面积交 BASIC-18 JAVA
前言
最近一直搞面试,很多写好的代码都懒得去发博客,现在补上,但是注释可能比较少,大家如果有问题请联系我
试题 基础练习 矩形面积交
资源限制
时间限制:1.0s 内存限制:512.0MB
问题描述
平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴。对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积。
输入格式
输入仅包含两行,每行描述一个矩形。
在每行中,给出矩形的一对相对顶点的坐标,每个点的坐标都用两个绝对值不超过10^7的实数表示。
输出格式
输出仅包含一个实数,为交的面积,保留到小数后两位。
样例输入
1 1 3 3
2 2 4 4
样例输出
1.00
本题试题
import java.util.Scanner;
public class IntersectRectangle {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double x1 = sc.nextDouble(), y1 = sc.nextDouble(), x2 = sc.nextDouble(), y2 = sc.nextDouble();
double x3 = sc.nextDouble(), y3 = sc.nextDouble(), x4 = sc.nextDouble(), y4 = sc.nextDouble();
sc.close();
if (x1 > x2) {
double tmp = x1;
x1 = x2;
x2 = tmp;
}
if (y1 > y2) {
double tmp = y1;
y1 = y2;
y2 = tmp;
}
if (x3 > x4) {
double tmp = x3;
x3 = x4;
x4 = tmp;
}
if (y3 > y4) {
double tmp = y3;
y3 = y4;
y4 = tmp;
}
double x = Math.max(x1, x3);
double X = Math.min(x2, x4);
double y = Math.max(y1, y3);
double Y = Math.min(y2, y4);
if (X - x < 0 || Y - y < 0) {
System.out.printf("%.2f", 0.00);
} else {
System.out.printf("%.2f", (X - x) * (Y - y));
}
}
}
大家好,我是[爱做梦的子浩](https://blog.csdn.net/weixin_43124279),我是东北大学大数据实验班大三的小菜鸡,非常向往优秀,羡慕优秀的人,已拿两个暑假offer,欢迎大家找我进行交流😂😂😂
这是我的博客地址:[子浩的博客https://blog.csdn.net/weixin_43124279]
——
版权声明:本文为CSDN博主「爱做梦的子浩」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。