/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:三角形的面积为:area=sqrt(s*(s-a)*(s-b)*(s-c)).其中
,s=(a+b+c)/2,a、b、c为三角形三条边的长。定义两个带
参数的宏,一个用来求s,另一个用来求area。编写程序,
在程序中用带参数的宏求面积area。
-------------------------------------------------------*/
#include <stdio.h>
#include "math.h"
/***********SPACE***********/
#define S(x,y,z)(x+y+z)/2//宏定义
#define AREA(s,x,y,z)sqrt(s*(s-x)*(s-y)*(s-z))
main()
{
double area;
float a,b,c,s;
printf("a,b,c=");
/***********SPACE***********/
scanf("%f,%f,%f",&a,&b,&c); //格式化输入
if(a+b>c&&b+c>a&&c+a>b)
{
/***********SPACE***********/
s=S(a,b,c); //计算三角形周长的一半
/***********SPACE***********/
area=AREA(s,a,b,c); //计算三角形面积
printf("area=%lf\n",area);
}
}
这个代码应该没错吧 但是最后就是不能输出area的值,求大神指导。