三角形的面积为:area=s9rt(s*(5-a)*(s-b)*(s-0)其中 ,5=(日+b+C)/2,日、b、c为三角形三条边的长。定义两个带参数的宏,一个用来求s,另一个用来求area。编写程序,在程序中用带参数的宏求面积area。
时间: 2024-05-10 10:15:43 浏览: 25
40、CSP-S 模拟试题试卷 problem(含水印).pdf
可以定义以下两个宏:
```
#define CALC_S(a, b, c) ((a + b + c) / 2.0)
#define CALC_AREA(a, b, c) (sqrt(CALC_S(a, b, c) * (CALC_S(a, b, c) - a) * (CALC_S(a, b, c) - b) * (CALC_S(a, b, c) - c)))
```
然后在程序中调用宏计算三角形面积:
```
#include <stdio.h>
#include <math.h>
#define CALC_S(a, b, c) ((a + b + c) / 2.0)
#define CALC_AREA(a, b, c) (sqrt(CALC_S(a, b, c) * (CALC_S(a, b, c) - a) * (CALC_S(a, b, c) - b) * (CALC_S(a, b, c) - c)))
int main() {
float a, b, c, s, area;
printf("请输入三角形三条边长:\n");
scanf("%f %f %f", &a, &b, &c);
s = CALC_S(a, b, c);
area = CALC_AREA(a, b, c);
printf("三角形的面积为:%f\n", area);
return 0;
}
```
阅读全文