S=sqrt(s*(s-a)*(s-b)*(s-c))
其中等号右边的小s为三边和的一半,
C程序:
#include
<stdio.h>
#include
<stdlib.h>
#include
<math.h>
void
main()
{
float
a,b,c,sh,s
scanf("%f
%f
%f",&a,&b,&c)
sh=(a+b+c)/2
s=sqrt(sh*(sh-a)*(sh-b)*(sh-c))
printf("%f\n",s)
system("pause")
问题出在p=1/2*(a+b+c)1/2是整型运算,结果是0,p=0。因此无论你输入a、b、c是何正整数,结果都是0。
另外,你的程序残缺不全,没有判定输入的a、b、c是否能构成三角形,这个程序是非常差的半成品。
电脑是可以做很多事情的,电脑的C语言就是可以很好的解决数学问题,我们在学习的时候不知道该怎么做,就可以用C语言来解决,今天我们先来说一个简单的,C语言简单编程之求解三角形的面积。
我们先把其变量表示说明出来,这样才能表示出三角形的边长和面积等。再使用scanf()函数从键盘敲入边长。然后使用题目中的公式来求解三角形的面积。之后就可以输出相应的三角形面积了。
我们可以看一下具体的程序代码。
最后是输出的程序运算演示的结果。