原题链接:蓝桥杯基础练习VIP-矩形面积交
解题思路:
注意事项:
/*
功能描述:
对容器内元素进行排序
函数原型:
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分
9 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复