已知三角形的面积是 area=s(s-a)(s-b)(s-c),其中 s=(a+b+c)/2,a,b,c 为三角形的三边。定义两个带参数的宏,一个用来求 s,一个用来求 area,试编写一程序,用带参数的宏来计算三角形的面积。
时间: 2024-05-16 10:15:34 浏览: 29
已知三点坐标求三角形面积-Java算法
以下是用带参数的宏来计算三角形面积的程序:
```c
#include <stdio.h>
#define S(a, b, c) ((a+b+c)/2.0)
#define AREA(a, b, c) (S(a, b, c)*((S(a, b, c)-a)*(S(a, b, c)-b)*(S(a, b, c)-c)))
int main()
{
double a, b, c;
printf("请输入三角形的三条边长:\n");
scanf("%lf%lf%lf", &a, &b, &c);
printf("三角形的面积为:%.2lf\n", AREA(a, b, c));
return 0;
}
```
当用户输入三角形的三条边长后,程序将调用带参数的宏计算出三角形的面积,并输出结果。注意,这里用带参数的宏来定义 s 和 area,而不是使用函数,因为宏在编译期间就会被展开为代码,比函数更高效。
阅读全文