判断三个数是否能构成三角形_三角形的面积

问题描述:

输入三角形三边长a,b,c(保证能构成三角形),输出三角形面积。

输入:一行三个用一个空格隔开的实数a,b,c,表示三角形的三条边长。
输出:输出三角形的面积,答案保留四位小数。
样例输入3 4 5,样例输出6.0000。
数据范围限制:1<=a,b,c<=10000

———————————————————————————

问题分析:

数学基础:

已知三角形的三边,计算三角形面积,需要用到海伦公式:

223df56f1830a7a150b6505672e1685a.png

即p=(a+b+c)/2

算法:

输入三个边长,套用海伦公式计算面积,并输出。 

可以先判断是否可以构成三角形,即任意两边之和大于第三边,可以构成三角形情况下再计算,可以增加严谨性。

_____________________________________________________________

代码:

#include 

#include 

int main()

{

    printf("请依次输入三个边长\n");

   double a,b,c,p,s;

    scanf("%lf%lf%lf",&a,&b,&c);

    if(a+b>c && a+c>b && b+c>a) //判断是否可以构成三角形。

    {

          p=(a+b+c)/2;//计算半周长

        s=sqrt(p*(p-a)*(p-b)*(p-c));//套用海伦公式,计算面积

          printf("面积为%lf\n", s);//输出结果

    }

    else printf("无法构成三角形\n");//输入不合法,提示。

    return 0;

}

你有其他的算法吗,欢迎留言区讨论!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值