C++程序来演示宏的功能
假设我们有一个包含多个整数值的整数数组。我们必须找出数组中最小值和最大值之间的差异。为了解决这个问题,我们必须使用宏。输入取自stdin,结果打印回stdout。
所以,如果输入像array={120,589,324,221,234},那么输出将是答案是:469
最大值589和最小值120之间的差值为469。
示例
让我们看看以下实现以获得更好的理解-
#define minmac(a, b) a = min(a, b)
#define maxmac(a, b) a = max(a, b)
#define INF ((1 << 31)-2)
#define input(a) cin >> a
#define toStr(a) string("答案是:")
#define FOO(a, b)
#define foreach(a, b) for (int i = 0; i < a.size(); ++i)
#include <iostream>
#include <vector>
using namespace std;
FOO(minmac, <)
FOO(maxmac, >)
int main(){
int n; cin >> n;
vector<int> v(n);
foreach(v, i) {
input(v)[i];
}
int mini = INF;
int maxi = -INF;
foreach(v, i) {
minmac(mini, v[i]);
maxmac(maxi, v[i]);
}
int ans = maxi - mini;
cout << toStr(答案是:) <<' '<< ans;
return 0;
}输入
5 120 589 324 221 234输出结果
答案是: 469
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短