解题思路:

注意事项:

/*
功能描述:
对容器内元素进行排序

函数原型:
sort(iterator beg, iterator end, _Pred);
第三个参数不写时,默认按照升序排列,自己如果想按降序排序,写一个返回值为布尔类型的排序函数
bool cmp(int a,int b) {
   return a>b;
}
或者第三个参数less<数据类型>()    //从小到大排序     less较小的
 greater<数据类型>()   //从大到小排序  greater较大的
*/
参考代码:

#include<iostream>
#include<algorithm>
#include<cstdio>

using namespace std;

int main()
{
	double x1,y1,x2,y2;  // (x1,y1) (x2,y2)
	double x3,y3,x4,y4;  // (x3,y3)  (x4,y4)
	cin>>x1>>y1>>x2>>y2;
	cin>>x3>>y3>>x4>>y4;
	
	//相离
	if((max(x1,x2)<min(x3,x4))||(min(y1,y2)>max(y3,y4))||
	   (max(x3,x4)<min(x1,x2))||(max(y1,y2)<min(y3,y4)))
	{
		cout<<"0.00";    // 输出数字一定要用双引号!!!! 
	} 
	//相交(其中有一种包含的情况,如果将x进行排序,那么不用讨论包含的情况) 
	else
	{
		double x[4]={x1,x2,x3,x4};
		double y[4]={y1,y2,y3,y4};
		sort(x,x+4);
		sort(y,y+4);
		double num;
		num=(x[2]-x[1])*(y[2]-y[1]);
		printf("%.2f",num);
	}
	return 0;
}


点赞(0)
 

0.0分

9 人评分

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

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

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

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

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

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

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

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

评论列表 共有 1 条评论