实验3-8 输出三角形面积和周长

题目:实验3-8输出三角形面积和周长(15分)题目要求:本题要求编写程序,根据输入的三角形的三条边a、b、c,计算并输出面积和周长。注意:在一个三角形中, 任意两边之和大于第三边。三角形面积计算公式:area=√​s(s−a)(s−b)(s−c)​​​,其中s=(a+b+c)/2。输入格式:输入为3个正整数,分别代表三角形的3条边a、b、c。输出格式:如果输入的边能构成一个三角形,则在一行内,按照area = 面积; perimeter = 周长的格式输出,保留两..
摘要由CSDN通过智能技术生成

题目:

实验3-8 输出三角形面积和周长 (15分)

题目要求:

本题要求编写程序,根据输入的三角形的三条边a、b、c,计算并输出面积和周长。注意:在一个三角形中, 任意两边之和大于第三边。三角形面积计算公式:area=√​s(s−a)(s−b)(s−c)​​​,其中s=(a+b+c)/2。

输入格式:

输入为3个正整数,分别代表三角形的3条边a、b、c。

输出格式:

如果输入的边能构成一个三角形,则在一行内,按照

area = 面积; perimeter = 周长

的格式输出,保留两位小数。否则,输出

These sides do not correspond to a valid triangle

输入样例1:

5 5 3

输出样例1:

area = 7.15; perimeter = 13.00

输入样例2:

1 4 1

输出样例2:

These sides do not correspond to a valid triangle

解题代码:

#include<stdio.h>
#include<math.h>
int mai
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实验过程: 1. 首先,我们需要定义一个抽象的“形状”类,其中包含计算面积周长的抽象方法。 ```java public abstract class Shape { public abstract double getArea(); public abstract double getPerimeter(); } ``` 2. 接着,我们定义具体的“三角形”和“圆”类,这两个类都继承自“形状”类,并实现了其抽象方法。其中,“三角形”类的实现如下: ```java public class Triangle extends Shape { private double a, b, c; public Triangle(double a, double b, double c) { this.a = a; this.b = b; this.c = c; } public double getArea() { double p = (a + b + c) / 2; return Math.sqrt(p * (p - a) * (p - b) * (p - c)); } public double getPerimeter() { return a + b + c; } } ``` “圆”类的实现如下: ```java public class Circle extends Shape { private double r; public Circle(double r) { this.r = r; } public double getArea() { return Math.PI * r * r; } public double getPerimeter() { return 2 * Math.PI * r; } } ``` 3. 在主函数中,我们使用了多态的概念,将“三角形”和“圆”类向上转型为“形状”类。这样,我们就可以使用“形状”类的引用来调用“三角形”和“圆”类的方法。 ```java Shape triangle = new Triangle(3, 4, 5); Shape circle = new Circle(2); double triangleArea = triangle.getArea(); double trianglePerimeter = triangle.getPerimeter(); double circleArea = circle.getArea(); double circlePerimeter = circle.getPerimeter(); ``` 4. 将三角形和圆的面积周长输出到控制台上 ```java System.out.println("Triangle: area = " + triangleArea + ", perimeter = " + trianglePerimeter); System.out.println("Circle: area = " + circleArea + ", perimeter = " + circlePerimeter); ``` 分析讨论: 本次实验中,我们使用了Java语言中的上转型和多态的概念来实现计算三角形和圆的面积周长。采用这种方式,我们可以将不同的形状对象向上转型为同一个父类对象,从而实现了代码的复用和扩展性。 具体来说,我们定义了一个抽象的“形状”类,其中包含了计算面积周长的抽象方法。然后,我们分别定义了“三角形”和“圆”类,这两个类都继承自“形状”类,并实现了其抽象方法。在这个过程中,我们使用了多态的概念,将“三角形”和“圆”类向上转型为“形状”类。这样,我们就可以使用“形状”类的引用来调用“三角形”和“圆”类的方法。 这种方式的优点在于,我们可以将不同的形状对象看作是同一个父类对象,从而实现了代码的复用和扩展性。例如,如果我们需要计算矩形的面积周长,只需定义一个新的“矩形”类,继承自“形状”类,并实现其抽象方法即可。而不需要重新定义一个新的类来实现这个功能。 总之,本次实验中的上转型和多态的概念是Java语言中非常重要的一部分,它可以提高代码的复用性和扩展性,是Java开发中必须掌握的知识点。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值