第八章-预编译处理

折月煮酒 提交于 2020-01-23 10:53:32
/*
 * @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;
}

  

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!