Chinaunix首页 | 论坛 | 博客
  • 博客访问: 140906
  • 博文数量: 45
  • 博客积分: 2000
  • 博客等级: 大尉
  • 技术积分: 495
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-21 20:14
文章分类
文章存档

2012年(2)

2007年(43)

我的朋友
最近访客

分类: C/C++

2007-02-27 20:30:47

    三角形的面积为: 其中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!

阅读(695) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~