NEUQACM OJ:1072--谭浩强C语言(第三版)习题9.3

NEUQACM OJ:1072–谭浩强C语言(第三版)习题9.3

题目如下

NEUQACM OJ:1072--谭浩强C语言(第三版)习题9.3_第1张图片

一道强行要求用宏的题目。。。

用就用吧,谁怕谁?!

宏的一般格式

#define 宏名 宏体

宏的作用,简单来说就是用宏名来替代宏体
用简单的宏名来替代经常使用的、相对较长的一段代码(即宏体部分),可以减少代码量,提高工作效率。

举个栗子

#define FOR(n) for(int i=0;i

这样定义以后,写 FOR(n) 就相当于写了 for(int  i=0;i<n;++i) 这么长一串,是不是简单了很多呢?

宏是不是和函数很像呢,不过一般来说,宏的效率会比函数低不少,具体原因大家自己百度吧。

代码如下

#include
#include
#include
//用于控制输出格式的头文件
#define S(a,b,c) (a+b+c)/2
//用S(a,b,c)替代(a+b+c)/2
#define area(S,a,b,c) sqrt(S*(S-a)*(S-b)*(S-c))
//用area(S,a,b,c)替代sqrt(S*(S-a)*(S-b)*(S-c))
using namespace std;
int main()
{
    double a,b,c;
    cin>>a>>b>>c;
    double S;
    S=S(a,b,c);
    double area;
    area=area(S,a,b,c);
    cout<3)<//设置小数点后三位
    return 0;
}

你可能感兴趣的:(NEUQACM OJ:1072--谭浩强C语言(第三版)习题9.3)