输入三角形的三边,怎样用C语言编写求三角形面积的程序?

如题所述

给,已经编译运行确认:
#include<conio.h>
#include<stdio.h>
#include<math.h>

int main()
{
float a,b,c;
float area,s;

printf("请输入三角行的三边:");
scanf("%f %f %f",&a,&b,&c);
if(a>0&&b>0&&c>0)
{
if((a+b>c)&&(a+c>b)&&(b+c>a))
{
printf("\n这三边能组成三角形\n");

s=(a+b+c)/2.0;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("三角形的面积为: %f\n",area);

if(((a*a+b*b)==c*c)||((a*a+c*c)==b*b)||((c*c+b*b)==a*a))
printf("这是直接三角形\n");
else if((a==b)&&(a==c)&&(b==c))
printf("这是等边三角形\n");
else if((a==b)||(a==c)||(b==c))
printf("这是等腰三角形\n");
else printf("这是普通三角形\n");
}
else
printf("\n这三边不能组成三角形\n");
}
else
printf("\n输入错误!");

getch();
return 1;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-03-19
首先判断是否能构成三角形
再根据公式直接求
具体步骤也是比较简-单的
第2个回答  2009-03-19
好像有个公式
面积的平方=s(s-a)(s-b)(s-c),其中 s =(a+b+c)/2
应该没记错,知道公式,你做起来就简单了
开根号用sqrt函数
第3个回答  2009-03-19
#include <stdio.h>
#include <math.h>
void main()
{

double a,b,c,s,area;
printf("input a,b,c:");
scanf("%lf,%lf,%lf",&a,&b,&c);
if (a+b>c && a+c>b && b+c>a)
{ s=(a+b+c)*0.5;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("area=%6.2f",area);
}
else
printf("it is not a trilateral");
}
相似回答