先來段代碼
#include<iostream>
#include<iomanip>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
for (int n = 1; n <= 10; ++n)
{
cout << setfill(' ') << setw(n) << " " << setfill('M') << setw(21 - 2 * n) << "M" << endl;
}
return 0;
}
//輸出
MMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMM
MMMMMMMMMMMMM
MMMMMMMMMMM
MMMMMMMMM
MMMMMMM
MMMMM
MMM
M
實際上是個倒三角形M
有了上一記的學習 這里的setfill(' ') << setw(n)不難理解 這個必須連起來使用
具體拆解 我們改一下代碼就一目了然
cout << setfill('0') << setw(n) << "1" << setfill('M') << setw(21 - 2 * n) << "O" << endl;
//輸出語句改成這樣
//輸出結果
1MMMMMMMMMMMMMMMMMMO
01MMMMMMMMMMMMMMMMO
001MMMMMMMMMMMMMMO
0001MMMMMMMMMMMMO
00001MMMMMMMMMMO
000001MMMMMMMMO
0000001MMMMMMO
00000001MMMMO
000000001MMO
0000000001O
小記到此