C++ 编程 关于用海伦公式计算三角形面积的一个程序
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。。。帮忙修改,多谢!!! 展开
程序代码如下:
{
#包括< 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年,宋代数学家秦九超独立提出了“三重斜四边形”。虽然它在形式上与海伦的公式不同,但它完全等价于海伦的公式。它填补了中国数学史上的一个空白,从中我们可以看出古代中国的数学水平很高。
海伦公式提出了三角形和多边形面积计算提供了一种新的方法和思路,知道的三边长三角公式的情况下高使用海伦和我不知道可以更快更容易找到,比如在土地面积的测量,不高的三角形,只需要测量两个点之间的距离,可以很容易地推导出解决方案。
用海伦公式计算三角形面积,具体方法如下:
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、将我们所有的要求及代码编写完整之后,点击“运行”,在弹出输入界面时,输入我们的
三个数,点击回车,即可得出我们的面积了。
//你这是要闹哪样。。。
改为
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这个限制条件,貌似海伦公式没这个限制的吧。
#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