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

来源:互联网 发布:单片机串口引脚 编辑:程序博客网 时间:2024/05/18 00:19

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

题目如下

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

用就用吧,谁怕谁?!

宏的一般格式

#define 宏名 宏体

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

举个栗子

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

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

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

代码如下

#include<iostream>#include<cmath>#include<iomanip>//用于控制输出格式的头文件#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<<setiosflags(ios::fixed)<<setprecision(3)<<area;//设置小数点后三位    return 0;}
阅读全文
0 0