C语言蓝桥杯矩形面积交,题目 1471:【蓝桥杯】【入门题】【基础练习VIP】矩形面积交...

原标题:题目 1471:【蓝桥杯】【入门题】【基础练习VIP】矩形面积交

题目 1471:矩形面积交

蓝桥杯刷题群已成立,微信后台回复【蓝桥杯】,即可进入。

如果加入了之前的社群不需要重复加入。

时间限制: 1Sec 内存限制: 128MB

1. 题目描述

平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴。对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积。

2. 输入

输入仅包含两行,每行描述一个矩形。

在每行中,给出矩形的一对相对顶点的坐标,每个点的坐标都用两个绝对值不超过10^7的实数表示。

3. 输出

输出仅包含一个实数,为交的面积,保留到小数后两位。

4. 样例输入1133

2244

5. 样例输出1.00

6. 解决方案

思路:

要对矩形做规范化处理。即左上角的坐标要小于右下角的坐标。

根据不同情况分别确定相交矩形左右上下,四条边的 x , y 坐标。

根据坐标确定矩形的长与宽。

求出矩形的面积。

「Python语言」

whileTrue:

try:

a = list(map(float, input.strip.split))

b = list(map(float, input.strip.split))

# 对矩形做规范化处理

a = [min(a[ 0], a[ 2]), min(a[ 1], a[ 3]), max(a[ 0], a[ 2]), max(a[ 1], a[ 3])]

b = [min(b[ 0], b[ 2]), min(b[ 1], b[ 3]), max(b[ 0], b[ 2]), max(b[ 1], b[ 3])]

# 确定每条边的坐标

xl = max(a[ 0], b[ 0])

xr = min(a[ 2], b[ 2])

yup = max(a[ 1], b[ 1])

ydown = min(a[ 3], b[ 3])

# 确定矩阵的长与宽

w = xr - xl

h = ydown - yup

# 求出矩形的面积

ifw > 0andh > 0:

print( "%.2f"% (w * h))

else:

print( "0.00")

except:

break

知识点:条件语句

「1. if 语句」

ifexpression:

expr_true_suite

if 语句的 expr_true_suite 代码块只有当条件表达式 expression 结果为真时才执行,否则将继续执行紧跟在该代码块后面的语句。

单个 if 语句中的 expression 条件表达式可以通过布尔操作符 and , or 和 not 实现多重条件判断。

【例子】

if2> 1andnot2> 3:

print( 'Correct Judgement!')

# Correct Judgement!

「2. if - else 语句」

ifexpression:

expr_true_suite

else:

expr_false_suite

Python 提供与 if 搭配使用的 else,如果 if 语句的条件表达式结果布尔值为假,那么程序将执行 else 语句后的代码。

【例子】

temp = input( "猜一猜小姐姐想的是哪个数字?")

# input 函数将接收的任何数据类型都默认为 str。

guess = int(temp)

ifguess == 666:

print( "你太了解小姐姐的心思了!")

print( "哼,猜对也没有奖励!")

else:

print( "猜错了,小姐姐现在心里想的是666!")

print( "游戏结束,不玩儿啦!")

if 语句支持嵌套,即在一个 if 语句中嵌入另一个 if 语句,从而构成不同层次的选择结构。

【例子】Python 使用缩进而不是大括号来标记代码块边界,因此要特别注意 else 的悬挂问题。

hi = 6

ifhi > 2:

ifhi > 7:

print( '好棒!好棒!')

else:

print( '切~')

# 无输出

【例子】

temp = input( "猜一猜小姐姐想的是哪个数字?")

guess = int(temp)

ifguess > 8:

print( "大了,大了")

else:

ifguess == 8:

print( "你太了解小姐姐的心思了!")

print( "哼,猜对也没有奖励!")

else:

print( "小了,小了")

print( "游戏结束,不玩儿啦!")

「3. if - elif - else 语句」

ifexpression1:

expr1_true_suite

elifexpression2:

expr2_true_suite

.

.

elifexpressionN:

exprN_true_suite

else:

expr_false_suite

elif 语句即为 else if,用来检查多个表达式是否为真,并在为真时执行特定代码块中的代码。

【例子】

temp = input( '请输入成绩:')

source = int(temp)

if100>= source >= 90:

print( 'A')

elif90> source >= 80:

print( 'B')

elif80> source >= 60:

print( 'C')

elif60> source >= 0:

print( 'D')

else:

print( '输入错误!')

「4. assert 关键词」

assert 这个关键词我们称之为“断言”,当这个关键词后边的条件为 False 时,程序自动崩溃并抛出 Asserti 的异常。

【例子】

my_list = [ 'lsgogroup']

my_list.pop( 0)

assertlen(my_list) > 0

# Asserti

【例子】在进行单元测试时,可以用来在程序中置入检查点,只有条件为 True 才能让程序正常工作。

assert3> 7

# Asserti返回搜狐,查看更多

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值