三角形面积为area=sqrt(s*(s-a)*(s-b)*(s-c)),其中s=0.5(a+b+c).a,b,c为三角形的三条边

定义两个带参数的宏,一个用来求s,另一个宏用来求area。
写程序,在程序中用带实参的宏名来求面积area

#include<stdio.h>
#include<math.h>
#define s(a,b,c) ((a+b+c)/2)
#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))
void main()
{
float a,b,c;
scanf("%f,%f,%f\n",&a,&b,&c);
if (a+b>c&&a+c>b&&b+c>a)
printf("%f\n",area(a,b,c));
else
printf("此三边不够成三角形!\n");
}
上面是在VC++6.0中调试的
输入数字时用逗号隔开
温馨提示:内容为网友见解,仅供参考
第1个回答  2007-11-09
#define s((a), (b), (c)) \
(((a) + (b) + (c)) / 2)
#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)))
第2个回答  推荐于2016-12-01
#define s(a,b,c) 0.5*(a+b+c)
#define area(s,a,b,c) sqrt(s*(s-a)*(s-b)*(s-c))
#include <math.h>
main()
{int a,b,c;
float s;
printf("put a,b,c=?\n");
scanf("%d%d%d",&a,&b,&c);
s=s(a,b,c);
printf("The area is:%.2f\n",area(s,a,b,c));
}本回答被提问者采纳

...根号[s(s-a)(s-b)(s-c],其中s=(a+b+c)\/2, a、b、c是三角形的_百度知...
void main(){ float a,b,c;int s,area;printf("请输入三角形三边的值:\\n");scanf("%f %f %f",&a,&b,&c);if(a+b>c&&a+c>b){ s=(a+b+c)\/2;area=sqrt(s*(s-a)*(s-b)*(s-c));} printf("三角形的面积是:");printf("%d\\n",area);printf("三角形的周长是:")...

三角形的面积为area=sqrt(s*(s-a)*(s-b)*(s-c)),s=(a+b+c)\/2; 请分...
{ float s;s=(a+b+c)\/2;return s;} float area(float s,float a,float b,float c){ float area;s=(a+b+c)\/2;area=sqrt(s*(s-a)*(s-b)*(s-c));return area;} 用参数宏的 include<stdio.h> include<math.h> define s(a,b,c) (a+b+c)\/2 define area(s,a,b,c)...

求三角型面积公式推导 area=sqrt(s*(s-a)*(s-b)*(s-c))
设三角形3条边为a,b,c,c上作高把c分成两半x与c-x a2的意思是a的平方,其他的类推 2a的意思是2 * a其他的类推 那么有 a2-x2 = b2 - (c-x)2 得到x=(a2-b2+c2)\/2c 高h=a2-x2开根 面积为ch=c\/2 * 根号里面 ...a2 - b2 + c2 a2 - (---)2 ...2c 这里写起来太麻...

三角形的面积计算公式是什么?
如果已知三角形的三边长度分别为a、b、c,可以使用海伦公式计算三角形的面积。海伦公式的形式如下:面积(A)=√s(s-a)(s-b)(s-c),其中s是半周长,计算公式为s=(a+b+c)\/2。这两种方法可以适用于不同类型的三角形,包括一般三角形、等腰三角形和直角三角形等。需要注意的是,在计算三角形...

...=1.0\/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c)); abc表示边_百度...
运用三角形面积的海伦公式,其中s表示的是三角形的周长的一半,area表示的是三角形的面积。程序中1.0\/2相当于数学中的1\/2,*是乘号的意思。sqrt表示的是开平方。

c语言求三角形面积!!
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=1\/2(a+b+c),area=sqrt(s*(s-a)*(s-b)*(s-c)).
结果应该是0.5,但是计算机计算结果确实0,因为\/这个运算符的左右操作数都是整数,所以返回的计算结果也是整数,于是,无论你如何计算,0*任何数值都是0,s总是0,area也总是0。将1\/2改为1\/2.0,这样计算机计算结果也将返回double类型,也就是0.5,程序就可以正常运行!

三角形平方计算公式是怎样?
2、使用三边长度计算(海伦公式):如果已知三角形的三边长度分别为a、b、c,可以使用海伦公式计算三角形的面积。海伦公式的形式如下:面积(A)=√s(s-a)(s-b)(s-c),其中s是半周长,计算公式为s=(a+b+c)\/2。3、通过正弦关系计算:对于一个三角形,如果已知其中一个角的度数和与其...

三角形外接圆面积公式是什么?
三角形外接圆面积公式:r=sqrt(s(s-a)(s-b)(s-c))其中,r是三角形外接圆的半径,s是这个三角形的半周长,a、b、c分别是这个三角具体公式如下:A=πr²其中,A是这个圆的面积,r是这个圆的半径,π是圆周率。

...#include<math.h> void main() { float a,b,c,s,area; scanf...
a,b,c):\\n");scanf("%lf%lf%lf",&a,&b,&c);s=0.5*(a+b+c);if(s>0 && s-a>0 && s-b>0 && s-c>0){area=sqrt(s*(s-a)*(s-b)*(s-c));printf("a=%.2lf,b=%.2lf,c=%.2lf\\narea=%.2lf\\n",a,b,c,area);} else printf("Date error!\\n");} ...

相似回答