试题 基础练习 矩形面积交

简介: 试题 基础练习 矩形面积交

试题 基础练习 矩形面积交

资源限制

内存限制:512.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s

问题描述

  平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴。对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积。

输入格式

  输入仅包含两行,每行描述一个矩形。

  在每行中,给出矩形的一对相对顶点的坐标,每个点的坐标都用两个绝对值不超过10^7的实数表示。

输出格式

  输出仅包含一个实数,为交的面积,保留到小数后两位。

样例输入

1 1 3 3

2 2 4 4

样例输出

1.00

提交代码:

#include <stdio.h>
int main(void)
{
  double x1, y1, x2, y2, x3, y3, x4, y4, s, tmp = 0.0;
  double a[4];
  double b[4];
  int i, j, k, l;
  scanf("%lf %lf %lf %lf %lf %lf %lf %lf", &x1, &y1, &x2, &y2, &x3, &y3, &x4, &y4);
  a[0] = x1; a[1] = x2; a[2] = x3; a[3] = x4;
  b[0] = y1; b[1] = y2; b[2] = y3; b[3] = y4;
for (i = 0; i < 3; i++)
{
  for (j = i + 1; j < 4; j++)
  {
    if (a[i] < a[j])
    {
      tmp = a[i];
      a[i] = a[j];
      a[j] = tmp;
    }
  }
}
  for (k = 0; k < 3; k++)
  {
    for (l = k + 1; l < 4; l++)
    {
      if (b[k] < b[l])
      {
        tmp = b[k];
        b[k] = b[l];
        b[l] = tmp;
      }
    }
  }
  if (x1 ==a[0] && x2 == a[1])
    s = 0.00;
  else if(x2 == a[0] && x1 == a[1])
    s = 0.00;
  else if (x1 == a[2] && x2 == a[3])
    s = 0.00;
  else if (x1 == a[3] && x2 == a[2])
    s = 0.00;
  else if (y1 == b[0] && y2 == b[1])
    s = 0.00;
  else if (y1 == b[2] && y2 == b[3])
    s = 0.00;
  else if (y1 == b[3] && y2 == b[2])
    s = 0.00;
  else
    s = (a[1] - a[2])*(b[1] - b[2]);
  printf("%.2f\n", s);
  return 0;
}
相关文章
|
7月前
|
Java C++ Python
试题 基础练习 圆的面积
试题 基础练习 圆的面积
49 1
|
移动开发 Python
Bartlett 球 形检验
Bartlett 球 形检验
1530 4
|
1月前
|
数据可视化 图形学 Python
在圆的外面画一个正方形:Python实现与技术解析
本文介绍了如何使用Python的`matplotlib`库绘制一个圆,并在其外部绘制一个正方形。通过计算正方形的边长和顶点坐标,实现了圆和正方形的精确对齐。代码示例详细展示了绘制过程,适合初学者学习和实践。
42 9
|
6月前
技术经验解读:三维空间中直角坐标与球坐标的相互转换
技术经验解读:三维空间中直角坐标与球坐标的相互转换
207 0
试题:最大的矩形(给定直方图里面积最大的矩形)
试题:最大的矩形(给定直方图里面积最大的矩形)
|
7月前
|
算法 测试技术 C#
【数学】【计算几何】1453. 圆形靶内的最大飞镖数量
【数学】【计算几何】1453. 圆形靶内的最大飞镖数量
|
C语言
创建各类三角形图案
C 语言实例 - 创建各类三角形图案
68 1
|
数据挖掘 Python
数学一本通——K. 点与三角形关系(叉积求面积)
数学一本通——K. 点与三角形关系(叉积求面积)
114 0
|
算法
判断三角形的性质(直角或等腰)简便算法
判断三角形的性质(直角或等腰)简便算法
140 0