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

Spring-_-Bear 的 CSDN 博客导航

本题要求编写程序,根据输入的三角形的三条边 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

来源:

来源:PTA | 程序设计类实验辅助教学平台
链接:https://pintia.cn/problem-sets/13/exam/problems/425

提交:

在这里插入图片描述

题解:

#include <stdio.h>
#include <math.h>

int main(void) {
    int a, b, c;
    scanf("%d%d%d", &a, &b, &c);

    // 任意两边之和大于第三边才能构成三角形
    if (a + b > c && a + c > b && b + c > a) {
        double s = (a + b + c) / 2.0;
        // 海伦公式求面积、三边之和求周长
        printf("area = %.2lf; perimeter = %.2lf\n", sqrt(s * (s - a) * (s - b) * (s - c)), (double) (a + b + c));
    } else {
        printf("These sides do not correspond to a valid triangle");
    }

    return 0;
}
### 回答1: 输入格式: 输入为一行,包含三个正数a、b、c,表示三角形三条边,两个相邻的数之间使用空格隔开。 输出格式: 输出为两行,第一行为三角形周长,第二行为三角形面积,保留两位小数。 输入样例: 3 4 5 输出样例: 12.00 6.00 输入样例: 3 5 7 输出样例: 0.00 0.00 ### 回答2: 根据题目要求,我们需要编写一个程序来计算三角形面积周长。以下是一个可能的实现: ```python import math def calculate_triangle(a, b, c): # 判断输入是否构成三角形 if a + b > c and a + c > b and b + c > a: # 计算周长 s = (a + b + c)/2 # 计算面积 area = math.sqrt(s * (s - a) * (s - b) * (s - c)) # 计算周长 perimeter = a + b + c return area, perimeter else: return '输入的边长不能构成一个三角形' # 输入三角形三条边 a = float(input("请输入三角形的第一条边的长度: ")) b = float(input("请输入三角形的第二条边的长度: ")) c = float(input("请输入三角形的第三条边的长度: ")) # 调用计算函数 result = calculate_triangle(a, b, c) # 输出结果 print("三角形面积为:", result[0]) print("三角形周长为:", result[1]) ``` 这个程序首先定义了一个计算三角形面积周长的函数`calculate_triangle`。在函数体内,首先判断输入的边长是否能构成一个三角形,如果不能则返回一个提示信息。如果可以构成三角形,则根据给定的公式计算三角形面积周长,并将结果返回。 在主程序中,我们通过`input`函数来获取用户输入三角形边长,并将其转换为浮点数类型。然后,调用`calculate_triangle`函数来计算三角形面积周长,并将结果存储在一个变量中。最后,我们通过`print`函数将结果输出到屏幕上。 ### 回答3: 根据题目的要求,我们需要编写一个程序来计算一个三角形面积周长。 首先,我们需要通过用户输入来获取三角形三条边a、b、c。可以使用input()函数来实现,例如: a = float(input("请输入三角形的边a的长度:")) b = float(input("请输入三角形的边b的长度:")) c = float(input("请输入三角形的边c的长度:")) 接下来,我们需要判断输入三边是否满足三角形的条件,即任意两边之和大于第三边。可以使用if语句来实现,例如: if a + b > c and a + c > b and b + c > a: # 计算三角形周长 perimeter = a + b + c # 计算三角形的半周长 s = perimeter / 2 # 计算三角形面积 area = (s * (s - a) * (s - b) * (s - c)) ** 0.5 # 输出结果 print("三角形周长为:", perimeter) print("三角形面积为:", area) else: print("输入三边长度无法构成三角形。") 在上述代码中,首先我们使用if语句判断输入三边是否满足构成三角形的条件,如果满足条件,我们计算三角形周长、半周长面积,并使用print()函数将结果输出;如果不满足条件,我们输出提示信息。 最后,我们可以运行程序,并根据输入三边长度来获取三角形面积周长
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

春天熊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值