协议用于图形:计算面积和周长
Swift
Medium
protocols
任务 «协议用于图形:计算面积和周长»
实现一个名为 Shape 的协议,包含方法 area() -> Double 和 perimeter() -> Double。创建遵循该协议的结构体 Circle(属性 radius: Double)和 Rectangle(属性 width: Double, height: Double)。编写函数 printShapeInfo(shape: Shape),用于输出图形的面积和周长。输入数据:一个整数 n(图形数量),然后对于每个图形,输入一个表示类型的字符串('circle' 或 'rectangle')以及相应的参数(对于 circle 为半径,对于 rectangle 为宽度和高度)。对于每个图形,输出其类型以及面积和周长的值,结果保留两位小数。
输入格式
第一行:整数 n (1 ≤ n ≤ 100)。接下来 n 行:每行包含图形类型及其参数(以空格分隔)。对于 circle:'circle <radius>'。对于 rectangle:'rectangle <width> <height>'。所有参数均为 1 到 1000 之间的整数。
输出格式
对于每个图形,单独一行输出:'<图形类型>: 面积 = <面积>, 周长 = <周长>'。面积和周长保留两位小数。
示例
示例 1
输入
3
circle 5
rectangle 4 7
circle 10
输出
Circle: Площадь = 78.54, Периметр = 31.42
Rectangle: Площадь = 28.00, Периметр = 22.00
Circle: Площадь = 314.16, Периметр = 62.83
示例 2
输入
1
rectangle 3 8
输出
Rectangle: Площадь = 24.00, Периметр = 22.00
示例 3
输入
5
3 apple
-1 banana
0 cherry
4 date
-2 elderberry
输出
main.swift