leplus


私信TA

用户名:dotcpp0779643

访问量:179

签 名:

等  级
排  名 6482
经  验 1412
参赛次数 0
文章发表 2
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:

注意事项:

不要将带参的宏作为参数传给另一个宏!!!  如:

#define area(S(a,b,c),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)

这样子会疯狂报错。。。。。。
参考代码:

#include<stdio.h>

#include<math.h>

#define area(S,a,b,c)  sqrt(S*(S-a)*(S-b)*(S-c))

#define s(a,b,c)       ((a+b+c)/2)

#define S             s(a,b,c)

int main(void)

{

       double a, b, c;

       scanf("%lf%lf%lf", &a, &b, &c);

       printf("%.3lf", area(S, a, b, c));

       return 0;

}


 

0.0分

4 人评分

  评论区

  • «
  • »