c语言:用海伦公式,求三角形的面积|练习题
一、题目
用海伦公式,输入三边长度,计算三角形的面积
二、思路分析
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、能构成三角形
?
?
六、注意
此题的难点是,判断输入的三边能否构成三角形
关注我,每天分享编程知识
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!