永发信息网

C语言 输入三角形的3条边a,b,c,如果能构成一个三角形,则输出面积和周长。

答案:3  悬赏:0  手机版
解决时间 2021-02-12 17:11
  • 提问者网友:树红树绿
  • 2021-02-12 08:31
C语言 输入三角形的3条边a,b,c,如果能构成一个三角形,则输出面积和周长。
最佳答案
  • 五星知识达人网友:纵马山川剑自提
  • 2021-02-12 09:52
以下答案仅供参考:
输入三条边,a,b,c;
判断是否可以构成三角形。 可以利用三角形两边之和必然大于第三边的定理进行判断;
对于可以构成三角形的,三边相加求周长,并利用海伦公式求面积;
海伦公式为

式中a,b,c分别为三角形三边长,p为半周长,S为三角形的面积。
输出周长和面积

全部回答
  • 1楼网友:不如潦草
  • 2021-02-12 12:54
....................s*(s-a)(s-b)(s-c)各个括号之间的*号怎么不写。。。。追问忘记了。。
可是加了之后 可以运行了,但是输入3 4 5,输出的是不能构成-,-追答alleria@cxm:~/Codes/temp$ gcc test.c -o test -lm
alleria@cxm:~/Codes/temp$ ./test
3 4 5
面积为6.00 周长为12.00
无能为力,我不信还尝试跑了下,您的系统必须炸天
  • 2楼网友:街头电车
  • 2021-02-12 11:15

一、算法分析:
1、 输入三条边,a,b,c;
2、 判断是否可以构成三角形。 可以利用三角形两边之和必然大于第三边的定理进行判断;
3、 对于可以构成三角形的,三边相加求周长,并利用海伦公式求面积;
海伦公式为

式中a,b,c分别为三角形三边长,p为半周长,S为三角形的面积。
4、 输出周长和面积。 
二、参考代码:#include
#include 
int main()
{
    double a,b,c,C,S,p;
    scanf("%lf%lf%lf",&a,&b,&c);//输入三条边。
    if(a+b>c && b+c>a && a+c>b)//可以构成三角形。
    {
        C=a+b+c;//计算周长。
        p=C/2;//计算半周长。
        S=sqrt(p*(p-a)*(p-b)*(p-c));//套用海伦公式,计算面积。
        printf("周长=%lf 面积=%lf ", C, S);//输出结果。 
    }
    else
        printf("无法构成三角形 ");//不能构成三角形,输出提示。 
        
    return 0;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯