最近挺忙的,可不知道为啥,还是愿意把正事丢在一边,琢磨着为自己找点乐子。前两天由于看到Java版一个帖子,竟然越想越好玩,于是又拾起了偶初学BASIC语言时就写得烂熟的一道题目:打印自然数1到10。如果用C++语言来写,会有多少种写法呢?
(1)直接循环
大多数人的第一反应应该是这样的吧:
#include <iostream>
using namespace std;
int main() {
for(int i = 1; i <= 10; ++i) {
cout << i << endl;
}
}
这是最“直接的”想法。
(2)直接循环的STL“摆酷”版
XX级的STL玩家常常像强迫症一样回避着手写循环。OK,也没啥不好:
#include <iostream>
#include <iterator>
#include <algorithm>
using namespace std;
int main() {
int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
copy(a, a + sizeof(a) / sizeof(*a), ostream_iterator<int>(cout, "/n"));
}
好了,为了节省一点空间,后面的代码中将不再包含相应的头文件和using指示。无非就是“#include <iostream>”和“using namespace std;”而已。