编程学渣


私信TA

用户名:1407142113

访问量:1295

签 名:

等  级
排  名 6998
经  验 1304
参赛次数 0
文章发表 5
年  龄 0
在职情况 学生
学  校 哈尔滨佛学院
专  业

  自我简介:

解题思路:两个长方形没相交,则一个长方形的最小横坐标大于z另一个最大横坐标,或一个最小纵坐标大于另一个最大纵坐标;若相交,则相交部分的长方形的坐标必介于两个长方形中的最大与最小坐标之间,即其坐标为:第二,三大的横纵坐标;


注意事项:

参考代码:

int main()

{

    double x1,y1,x2,y2;//第一个长方形的坐标

    double s1,t1,s2,t2;//第二个长方形坐标

    double x,y;

    double t;

    double s;

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

    scanf("%lf%lf%lf%lf",&s1,&t1,&s2,&t2);

/*将两个长方形坐标转换为对应左下角与右上角*/

    if(x1>x2){t=x1,x1=x2,x2=t;}

    if(y1>y2){t=y1,y1=y2,y2=t;}

    if(s1>s2){t=s1,s1=s2,s2=t;}

    if(t1>t2){t=t1,t1=t2,t2=t;}

    if(s1>x2||x1>s2||y1>t2||t1>y2)s=0;//两个长方形未相交

    else

        s=((x2<s2?x2:s2)-(x1>s1?x1:s1))*((y2<t2?y2:t2)-(y1>t1?y1:t1));//若相交则相交部分的横坐标为两个长方形的横坐标的中间两个,纵坐标类似

    printf("%.2lf",s);

}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区