三角形的面积为 ,其中s=1/2(a+b+c),a、b、c为三角形的三边。定义两个带参数的宏,一个用来求s,另一个用来求area。编写程序在主函数中用带实参的宏名来求三角形的面积。
时间: 2024-05-12 07:18:23 浏览: 48
根据三边求三角形面积
好的,我理解了你的要求。这里提供两个带参数的宏来实现求解三角形面积的功能:
```
#define SEMI_PERIMETER(a, b, c) ((a+b+c)/2) // 求解三角形半周长s
#define TRIANGLE_AREA(a, b, c) (sqrt(SEMI_PERIMETER(a, b, c)*((SEMI_PERIMETER(a, b, c)-a)*(SEMI_PERIMETER(a, b, c)-b)*(SEMI_PERIMETER(a, b, c)-c)))) // 求解三角形面积
```
在主函数中使用这两个宏名求解三角形面积如下:
```
#include <stdio.h>
#include <math.h>
#define SEMI_PERIMETER(a, b, c) ((a+b+c)/2.0)
#define TRIANGLE_AREA(a, b, c) (sqrt(SEMI_PERIMETER(a, b, c)*((SEMI_PERIMETER(a, b, c)-a)*(SEMI_PERIMETER(a, b, c)-b)*(SEMI_PERIMETER(a, b, c)-c))))
int main()
{
double a = 3.0, b = 4.0, c = 5.0;
double area = TRIANGLE_AREA(a, b, c);
printf("The area of triangle with sides %lf, %lf, %lf is: %lf\n", a, b, c, area);
return 0;
}
```
这个程序的输出结果为:
```
The area of triangle with sides 3.000000, 4.000000, 5.000000 is: 6.000000
```
希望你满意,有其他问题可以继续问我。
阅读全文