1、编写一个宏定义ISTRIANGLE(a,b,c),用来判断边长a,b,c是否构成一个三角形?

如题所述

#define ISTRIANGLE(a,b,c) a+b>c && a+c>b && b+c>a

#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))

#define S(a,b,c) (a+b+c)/2

在使用宏之前建议加一个判断条件

if((a>(b+c))||(b>(a+c))||(c>(a+b))){

printf("Input Error\n");

}else{

printf("S=%f\n",AREA(a,b,c));

}

扩展资料:

应用程序也可以使用一种和宏类似机理的系统来允许用户将一系列(一般是最常使用到的操作)自定义为一个步骤。也就是用户执行一系列操作,并且让应用程序来“记住”这些操作以及顺序。更高级的用户可以通过内建的宏编程来直接使用那些应用程序的功能。

当使用一种不熟悉的宏语言来编程时,比较有效的方法就是记录一连串用户希望得到的操作,然后通过阅读应用程序记录下来的宏文件来理解宏命令的结构组成。

参考资料来源:百度百科-宏定义

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-04-03
#define ISTRIANGLE(a,b,c) a+b>c && a+c>b && b+c>a本回答被网友采纳
相似回答