特征 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