新点标书制作软件:高手指教下.是否这样解三角形面积??

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 05:31:41
#inculde<stdio.h>
mian( )
{
doubie a,b,c,l,s;
printf("please input a,b,c);
scanf("%d%d%d",&a&b&c);
if
(a+b>c)&&(b+c>a)&&(a+c>b)
{
l=(a+b+c)/2
s=sqrt(l*((1-a)*(l-b)*(l-c)));
printf("s=%d",s);
}
else
printf("no!");
}

原来的程序有不少错误,已改正,如下:

#include <stdio.h>
#include <math.h>

int main()
{
double a,b,c,l,s;
printf("please input a b c: ");
scanf("%lf%lf%lf",&a, &b, &c);
if ((a+b>c)&&(b+c>a)&&(a+c>b))
{
l=(a+b+c)/2;
s=sqrt(l*((l-a)*(l-b)*(l-c)));
printf("s=%lg\n",s);
}
else
printf("no!\n");
}

另一种算法
#include <math.h>
#inculde<stdio.h>
mian( )
{
doubie a,b,c,l,s,Bata;
//bata 为角A
printf("please input a,b,c);
scanf("%d%d%d",&a&b&c);
if
(a+b>c)&&(b+c>a)&&(a+c>b)
{
bata = arccos((b*b+c*c-a*a)/(2*b*c);
s=b*c*sin(bata)*0.5;
printf("s=%d",s);
}
else
printf("no!");
}