编写一个宏定义AREA(a,b,c),用于求一个边长为a,b和c的三角形的面积

 我来答
匿名用户
2013-10-19
展开全部
楼上的都没看清楚输入条件,是边长不是各点坐标。
#define AREA(a,b,c) sqrt(S(a,b,c)*(S(a,b,c)-a)*(S(a,b,c)-b)*(S(a,b,c)-c))
#define S(a,b,c) (a+b+c)/2
在使用宏之前建议加一个判断条件
if((a>(b+c))||(b>(a+c))||(c>(a+b))){
printf("Input Error\n");
}else{
printf("S=%f\n",AREA(a,b,c));
}
匿名用户
2013-10-19
展开全部
#define AREA(a,b,c) fabs((b.x*a.y-a.x*b.y)+(c.x*b.y-b.xc.y)+(a.x*c.y-c.x*a.y))/2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式