一、题目
用海伦公式,输入三边长度,计算三角形的面积
二、思路分析
1、设置判断函数,判断输入的三边是否能构成三角形
2、如果不能,开关值由0变为1
3、如果能,开关值为0
三、代码图片【带注释】
四、源代码【带注释】
#include <stdio.h>
#include <math.h>
int kaiGuan=0;
//设置一个开关,
//判断函数中,不为三角形开关值变为1
//思路分析:
//设置判断函数,判断输入的三边是否能构成三角形
//如果不能,开关值由0变为1
//如果能,开关值为0
int panDuan(int a,int b,int c)
{
if(((a+b)<=c)||((a+c)<=b)||((c+b)<=a))
{
printf("不是三角形,请重新输入\n");
kaiGuan=1;
}
else
{
kaiGuan=0;
}
}
//输入三角形三边,如果不能构成三角形,从新输入
//如能构成三角形,调用三角形面积函数,求三角形面积
int main()
{
int a,b,c;
cc:
printf("请输入三角形三边的值:\n");
scanf("%d",&a);
scanf("%d",&b);
scanf("%d",&c);
panDuan(a,b,c);
if(kaiGuan==1)
{
goto cc;
}
triangleArea(a,b,c);
}
//利用海伦公式,求三角形面积
triangleArea(int a,int b,int c)
{
float l,s;
//重点:要把(a+b+c)强制类型转换,否则结果有误
l=(float)(a+b+c)/2;
s=sqrt(l*(l-a)*(l-b)*(l-c));
printf("三角形的面积是:%.4f",s);
}
五、运行结果
1、输入的三边不能构成三角形
2、能构成三角形
六、注意
此题的难点是,判断输入的三边能否构成三角形
关注我,每天分享编程知识