解题思路:

注意事项:

参考代码:

无标题.jpg

#include<stdio.h>

#define max(x,y) ((x)>(y)?(x):(y))

#define min(x,y) ((x)<(y)?(x):(y))

int main(){

         double x1,y1,x2,y2;

         double x3,y3,x4,y4;

         double m1,n1;

         double m2,n2;

         scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2);

         scanf("%lf%lf%lf%lf",&x3,&y3,&x4,&y4);

         m1=max(min(x1,x2),min(x3,x4)); //左上角坐标,不管是第一种情况,还是第二种情况,最后都是正的

         n1=max(min(y1,y2),min(y3,y4));

         m2=min(max(x1,x2),max(x3,x4));

         n2=min(max(y1,y2),max(y3,y4));

         if(m2>m1 && n2>n1){

                  printf("%.2f\n",(m2-m1)*(n2-n1));

         }else{

                  printf("0.00\n");

         }

         return 0;    


点赞(3)
 

0.0分

8 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 4 条评论

oh 4年前 回复TA
oh 4年前 回复TA
@00514209c 一般都不用float,浮点数用double就好
GaoJune 5年前 回复TA
@00514209c 遇到相同的问题,写float会有12%错误!
00514209c 5年前 回复TA
float 类型计算怎么会精度不够?