用c语言编程三角形的面积为: area=sqrt (s*(s-a)*(s-b)*(s-c))其中s=(a+b+c)/2,a,b,c为三角形三条边的长。定义两个带参数的宏一个用来求s另一个用来来area。编写程序在程序中用带参数的宏求面积area。
时间: 2024-05-06 11:15:41 浏览: 73
以下是使用带参数的宏计算三角形面积的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() {
double a, b, c;
printf("请输入三角形的三条边长:");
scanf("%lf %lf %lf", &a, &b, &c);
double area = CALC_AREA(a, b, c);
printf("三角形的面积为:%lf\n", area);
return 0;
}
```
在上述代码中,我们定义了两个带参数的宏`CALC_S`和`CALC_AREA`,分别用于计算三角形的半周长s和面积area。然后在main函数中,我们使用scanf函数获取用户输入的三条边长,然后调用`CALC_AREA`宏计算面积,最后输出结果。
相关问题
输入三角形的边长,求三角形面积(面积 =sqrt(s(s-a)(s-b)(s-c)),s=(a+b+c)/2)用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("该三角形的面积为:%lf\n", area);
return 0;
}
include<stdio.h> #include<math.h> int main() {float a,b,c,s,area; scanf("%f%f%f",&a,&b,&c); if((a+b>c&&a+c>b&&b+c>a)&&(a-b<c&&a-c<b&&b-a<c&&b-c<a&&c-a<b&&c-b<a)) s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("area=%f\n",area); else {printf("不能构成三角形/n"); } return 0; }
include<stdio.h> 是一个C语言的头文件,它包含了标准输入输出函数的声明,例如printf()和scanf()等。在C语言程序中,如果需要使用这些函数,就需要在程序开头加上这个头文件的声明。
阅读全文