灿烂的神


私信TA

用户名:Frank3821

访问量:19361

签 名:

十月一日那天,祝你幸福!

等  级
排  名 535
经  验 4445
参赛次数 2
文章发表 42
年  龄 23
在职情况 学生
学  校 临沂大学
专  业 计算机科学与技术

  自我简介:

每走一次捷径,就会丧失一点人性!

解题思路:

注意事项:

参考代码:

无标题.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;    


 

0.0分

9 人评分

  评论区

2020-02-20 10:36:54
float 类型计算怎么会精度不够?
2019-10-03 15:00:13
  • «
  • 1
  • »