特征 Geometry 用于计算面积和周长

Rust Medium traits

任务 «特征 Geometry 用于计算面积和周长»

实现一个带有方法 `area() -> f64` 和 `perimeter() -> f64` 的 Geometry trait。创建结构体 Circle(半径)、Rectangle(宽度、高度)和 Triangle(边长 a、b、c)。为每个结构体实现 Geometry trait。在 main 函数中从 stdin 读取三行:第一行为圆的半径(f64),第二行为矩形的宽度和高度(f64,空格分隔),第三行为三角形的三条边长(f64,空格分隔)。输出每个图形的面积和周长,用空格分隔,每组占一行。面积和周长四舍五入保留两位小数。如果三角形不存在(不满足三角形不等式),则输出 "Invalid triangle" 代替数字。

输入格式

三行输入。第一行:一个f64类型的数——圆的半径。第二行:两个f64类型的数,以空格分隔——矩形的宽度和高度。第三行:三个f64类型的数,以空格分隔——三角形的三条边。

输出格式

三行。对于前两个图形:输出面积和周长,以空格分隔,四舍五入保留两位小数。对于三角形:输出面积和周长,以空格分隔,四舍五入保留两位小数,或输出字符串"Invalid triangle"。

示例

示例 1

输入
1.0 2.5 3.5 1.0 2.0 3.0
输出
3.14 6.28 8.75 12.00 Invalid triangle

示例 2

输入
3 кот дом стол
输出
кот дом стол

示例 3

输入
2 я мы
输出
я мы
main.rs