解题思路:
注意事项:
1、宏只是简单的替换,使用宏做算数运算的时候要特别注意替换后的运算顺序。
2、为了避免替换后的运算顺序错误,宏运算最好加括号。
参考代码:
#include<stdio.h> #include<math.h> #define S(a, b ,c) ((a+b+c)/2.0) #define AREA(s, a, b, c) sqrt(s*(s-a)*(s-b)*(s-c)); int main() { float a, b, c, area; scanf("%f %f %f", &a, &b, &c); area = AREA(S(a, b, c), a, b, c); printf("%.3f\n", area); return 0; }
0.0分
0 人评分