三角形的面积为: 其中s=1/2(a+b+c),a、b、c为三角形的三边。定义两个带参的宏,一个用来求s,另一个用来求area。写程序,在程序中用带实参的宏名来求面积area。
解:程序如下:(xt9-3.c)
#include <stdio.h>
#include <math.h>
#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))
void main()
{ float a,b,c;
printf("Input a,b,c:");
scanf("%f,%f,%f",&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a)
printf("area:%8.2f\n",AREA(a,b,c));
else
printf("It is not a triangle!");
}
运行结果:
①Input a,b,c:3,4,5↙
area: 6.00
②Input a,b,c:12,3,5↙
It is not a triangle!
阅读(705) | 评论(0) | 转发(0) |