C语言给出三角形三边长,求三角形面积

求大神指导,哪里出错了!谢谢!
2024-12-09 09:55:03
推荐回答(4个)
回答1:

#include

#include

int main()

{

float a,b,c,h,s;

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

h=(a+b+c)/2;

s=sqrt(h*(h-a)*(h-b)*(h-c));

printf("%g\n",s);

return 0;

}

  1. C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。

  2. 它由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。

  3. 它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。

  4. C语言继续发展,在1982年,很多有识之士和美国国家标准协会为了使这个语言健康地发展下去,决定成立C标准委员会,建立C语言的标准。委员会由硬件厂商,编译器及其他软件工具生产商,软件设计师,顾问,学术界人士,C语言作者和应用程序员组成。

回答2:

一、 数学基础:

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

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

二、 算法:

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

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

三、 代码:

#include 
#include 
int main()
{
    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;
}

四、 注意事项:

用到开平方函数sqrt,需要包含math.h。

如果是gcc编译器,需要在编译时加入-lm 引入数学库。 否则会编译错误。

回答3:

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

回答4:

有错误代码吗?
可以尝试将double改为float型试试