解题思路:

1.涉及到坐标,一般优先考虑结构体

2.利用结构体对坐标依据x轴或者y轴排序有利于抽象分析,因为我们输入的点,只说了是对角的点,输入顺序不同影响对面积的计算

3.对排序的点,我们要做标记,标记那个点是那个矩形的,我用tap=0表示第一个矩形,tap=1表示另外一个矩形

4.先做标记再用sort排序,要保证相交a【4】.tap ,不能是 1 1 0 0 或者 0 0 1 1, 是就输出0.00

不是就输出结果
注意事项:

结构体排序 const  一定带上,不带可能会出问题

参考代码:

//面积交

#include<iostream>

#include<algorithm>

#include<cmath>

using namespace std;

struct node{

double x;

double y;

    int tap;

}a[4];


int cmp(const node &a,const node &b){  //注意const要加入 

return a.x<b.x;

}

int main()

{

double are;

for(int i=0;i<4;i++)

cin>>a[i].x>>a[i].y;

a[0].tap=0;

a[1].tap=0;

a[2].tap=1;

a[3].tap=1;

sort(a,a+4,cmp);


if((a[0].tap==0&&a[1].tap==0&&a[2].tap==1&&a[3].tap==1)||(a[0].tap==1&&a[1].tap==1&&a[2].tap==0&&a[3].tap==0))

cout<<"0.00"<<endl;

else{

are=fabs((a[2].x-a[1].x)*(a[2].y-a[1].y));

printf("%.2f\n",are);}

return 0;


点赞(0)
 

0.0分

0 人评分

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论