- /*
- * @Issue: 输入两个整数, 求他们相除的余数, 用带参的宏编程来实现
- * @Author: 一届书生
- * @LastEditTime : 2020-01-23 09:55:37
- */
- #include<iostream>
- #include<math.h>
- using namespace std;
- // 宏编程
- // 求两个整数相除的余数
- #define MOD(a,b) a%b
- // 交换两个元素
- #define swap(x,y) {int t;t=x;x=y;y=t;}
- // 判断是否是字母
- #define ISALPHA(c) ((c>='A'&&c<'Z')||(c>'a'&&c<'z')?1:0)
- // 判断整数 n 能否被 x 整除
- #define DIV(n,x) ((n%x)==0?1:0)
- // 计算三角形面积
- #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))
- int main(){
- int a,b;
- cout<<"请输入两个整数 a,b:"<<endl;
- cin>>a>>b;
- cout<<MOD(a,b)<<endl;
- cout<<"a:"<<a<<endl<<"b:"<<b<<endl;
- swap(a,b);
- cout<<"a:"<<a<<endl<<"b:"<<b<<endl;
- char c;
- cout<<"请输入一个字符来判断它是否是字母:"<<endl;
- cin>>c;
- if(ISALPHA(c)) cout<<c<<"是一个字母"<<endl;
- else cout<<c<<"不是一个字母"<<endl;
- int d;
- cout<<"请输入一个整数来判断它能否被 3 整除:"<<endl;
- cin>>d;
- if(DIV(d,3)) cout<<d<<"能被 3 整除"<<endl;
- else cout<<d<<"不能被 3 整除"<<endl;
- int e,f,g;
- cout<<"请输入三角形的三条边:"<<endl;
- cin>>e>>f>>g;
- cout<<AREA(e,f,g)<<endl;
- return 0;
- }
来源: http://www.bubuko.com/infodetail-3392964.html