求解C语言的编程题的答案?!

来源:百度知道 编辑:UC知道 时间:2024/05/28 10:20:19
题目如下:
输入三角形三条边长a,b,c,计算三角形面积
area=√(s×(s-a)×(s-b)×(s-c))
s=(a+b+c)/2
要求area和s的过程定义为宏,结合各种类型变量使用。

摆脱各位帮我解答一下,并写出详细的步骤!谢谢啦!

#include<stdio.h>
#include<math.h>
void main()
{
float a,b,c,s,area;
printf("\n请输入三角形的三边长:");
scanf("%f %f %f",&a,&b,&c);
s=1.0/2*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\n",a,b,c,s);
printf("area=%7.2f\n",area);
}

#define S(a,b,c) (a+b+c)/2
#define AREA(a,b,c) sqrt((S(a,b,c))*(S(a,b,c)-a)*(S(a,b,c)-b)*(S(a,b,c)-c))

#include <stdio.h>
#include <math.h>
#define fun(erea,a,b,c) erea=sqrt(0.5*(a+b+c)*(0.5*(a+b+c)-a)*(0.5*(a+b+c)-b)*(0.5*(a+b+c)-c))
void main()
{
double x,y,z,Erea;
scanf("%d%d%d",&x,&y,&z);
fun(Erea,x,y,z);
printf("erea=%d",Erea);
}