已知三角形的三边分别是 a 、 b 、 c ,则三角形的面积为 area =√ s ( s - a )( s - b )( s - c ),其中 s =( a + b + c )/2。编写一程序,用带参数的宏求三角形的面积。
时间: 2024-04-30 12:17:32 浏览: 9
以下是用带参数的宏求三角形面积的程序:
```c
#include <stdio.h>
#include <math.h>
#define AREA(a, b, c) sqrt((a + b + c)*(a + b - c)*(a - b + c)*(-a + b + c))/4
int main() {
double a, b, c;
printf("请输入三角形的三边长:\n");
scanf("%lf %lf %lf", &a, &b, &c);
double area = AREA(a, b, c);
printf("三角形的面积为:%lf\n", area);
return 0;
}
```
在这个程序中,我们定义了一个带参数的宏 `AREA(a, b, c)`,它接受三个参数 a、b 和 c,分别表示三角形的三条边。在宏的定义中,我们使用了三角形面积公式,并用 `sqrt` 函数求出其平方根。程序中还使用了 `scanf` 函数读入三角形的三边长,并将计算出来的面积输出。
相关问题
C语言已知三角形的三条边,编写计算三角形面积的函数。三角形面积公式为 A= s(s-a)x(s-b)x(s-c)
好的,我可以帮你编写这个函数。请看下面的C语言代码:
```c
#include <stdio.h>
#include <math.h>
double calcTriangleArea(double a, double b, double c) {
double s = (a + b + c) / 2.0;
double area = sqrt(s * (s - a) * (s - b) * (s - c));
return area;
}
int main() {
double a, b, c;
printf("请输入三角形的三条边长:\n");
scanf("%lf %lf %lf", &a, &b, &c);
double area = calcTriangleArea(a, b, c);
printf("三角形的面积为:%.2lf\n", area);
return 0;
}
```
这个函数名叫做`calcTriangleArea`,接收三个`double`类型的参数`a`、`b`、`c`,分别表示三角形的三条边长。它的返回值也是`double`类型的,表示计算出的三角形面积。
在函数内部,我们首先根据三条边长计算出半周长`s`,然后利用三角形面积公式计算出面积`area`,最后将其返回即可。
在`main`函数中,我们首先从用户输入中读取三角形的三条边长,然后调用`calcTriangleArea`函数计算出三角形面积,并打印输出。
希望这个代码对你有所帮助!
c语言中,输入三角形的三边长,求三角形的面积。已知三边长分别用a,b,c表示,其中s=(a+b+c)/2,三角形的面积计算公式为:area=√(s(s-a)(s-b)(s-c))
代码如下:
```c
#include <stdio.h>
#include <math.h>
int main()
{
double a, b, c, s, area;
printf("请输入三角形的三条边长:\n");
scanf("%lf %lf %lf", &a, &b, &c);
s = (a + b + c) / 2;
area = sqrt(s * (s - a) * (s - b) * (s - c));
printf("三角形的面积为:%.2lf\n", area);
return 0;
}
```
运行结果:
```
请输入三角形的三条边长:
3 4 5
三角形的面积为:6.00
```