C++ 编程 关于用海伦公式计算三角形面积的一个程序

#include<stdio.h>voidmain(){inta,b,c,s,area,d;scanf("%d%d%d",&a,&b,&c);s=(a+b+c)/2;d=... #include<stdio.h>
void main ()
{
int a,b,c,s,area,d;
scanf("%d%d%d",&a,&b,&c);
s=(a+b+c)/2;
d=s*(s-a)*(s-b)*(s-c);
area=sqrt(d);
if (a+b>c,b+c>a,a+c>b)
printf("三角形面积=%d\n",area);
else printf("无法构成三角形\n");
}

我是初学者,刚刚接触,编的程序是错误的,错误一是sqrt公式那里的运用,还有就是总是说找不到与else对应的if。。。帮忙修改,多谢!!!
展开
 我来答
小无谈旅游百科
高粉答主

2020-05-11 · 每个回答都超有意思的
知道小有建树答主
回答量:824
采纳率:98%
帮助的人:19.1万
展开全部

程序代码如下:

#包括< stdio, h >

h#包括< math.h >

Intmain()

Printf(“请输入三角形分别为边长和按下回车:\n”);

浮动a,b,c;

浮动,区域;

扫描文件(“% f % f % f”,& a & b, & c);

如果(a+b>c && a+c>b && b+c>a) //判断三角形是否可以形成。

S=(a+b+c)/2;//计算半个圆周

面积=SQRT(s*(s-a)*(s-b)*(s-c));//应用海伦的公式来计算面积

Printf(“这个三角形的面积是%lf\n”,面积);//输出结果

否则printf("不能形成三角\n");//非法输入,提示。

返回0;

扩展资料:

海伦的公式

在公式中,a,b,c是三角形三条边的长度,p是三角形的半圆,S是三角形的面积。

据传说,这个公式最早是由古希腊数学家阿基米德得到的,因为这个公式最早出现在海伦的著作《大地测量学》中,所以被称为海伦公式。

1247年,宋代数学家秦九超独立提出了“三重斜四边形”。虽然它在形式上与海伦的公式不同,但它完全等价于海伦的公式。它填补了中国数学史上的一个空白,从中我们可以看出古代中国的数学水平很高。

海伦公式提出了三角形和多边形面积计算提供了一种新的方法和思路,知道的三边长三角公式的情况下高使用海伦和我不知道可以更快更容易找到,比如在土地面积的测量,不高的三角形,只需要测量两个点之间的距离,可以很容易地推导出解决方案。

爱娱乐达人小张
高粉答主

2020-05-12 · 关注我不会让你失望
知道答主
回答量:395
采纳率:100%
帮助的人:8.3万
展开全部

用海伦公式计算三角形面积,具体方法如下:

1、首先打开我们的DEV C++软件,点击“新建源代码”。

在编辑页面输入以下代码:

#include<stdio.h> 

 int main() 

 {

      folat a,b,c,s,p ;

      printf("请输入三角形的三边:");

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

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

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

 printf("三角形的面积为:%.1f",s);

 return 0;

 }

2、题目要求我们在定义变量时,基本类型要全部为float浮点型,所以在编辑源代码时,我们在编写输入代码时,一定要注意给定的类型是什么,根据类型来编写。

3、大家要注意,在我们的输入代码中,即“scanf”输入函数内,一定要在我们的变量前加一个地址符,否则我们的程序会显示代码编写错误。

4、因为题目是要求我们计算出它的面积,但我们的面积涉及到根号,计算机中根本不认数学上的根号,所以,在这里我们计算机所认的根号是“sqrt”,所以,在编写时,将我们数学的根号改为sqrt即可,后面部分不变。

5、将我们所有的要求及代码编写完整之后,点击“运行”,在弹出输入界面时,输入我们的

三个数,点击回车,即可得出我们的面积了。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友cf8cc653c8
2019-08-19 · TA获得超过3.5万个赞
知道小有建树答主
回答量:1.2万
采纳率:25%
帮助的人:2214万
展开全部
s=sqrtp(p-a)(p-b)(p-c);
//你这是要闹哪样。。。
改为
s
=
sqrt(p*(p-a)*(p-b)*(p-c));
if后面多于一条语句时必须用{}括起来
改完后:
#include
#include
int
main()
{float
a,b,c,p,s;
printf("please
input
a,b,c\n");
scanf("%f,%f,%f",&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a&&a>0&&b>0&&c>0){
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("s=%f\n",s);}
else
printf("error!\n");
return
0;
}
//
另外,不懂为什么为什么要加a+b>c&&a+c>b&&b+c>a这个限制条件,貌似海伦公式没这个限制的吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
徐光猪
推荐于2017-11-23 · TA获得超过4167个赞
知道大有可为答主
回答量:1299
采纳率:50%
帮助的人:1734万
展开全部
#include<stdio.h>
#include<math.h>
void main ()
{
float a,b,c,d;
float s;
double area;
scanf("%f%f%f",&a,&b,&c);
if (a+b>c&&b+c>a&&a+c>b)//&&代表逻辑和
{
s=(a+b+c)/2;
d=s*(s-a)*(s-b)*(s-c);
area=sqrt(d);
printf("三角形面积=%d\n",area);
}
else
{
printf("无法构成三角形\n");
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2010-07-14
展开全部
这是C语言吧...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式