#include<iostream>
#include<cstring>
using namespace std;
char c[3000][3000];
int main()
{
int n, h = 2, w = 4;
cin >> n;
memset(c, ' ', sizeof(c));
c[1][1] = c[2][2] = '\\';
c[1][2] = c[1][3] = '_';
c[1][4] = c[2][3] = '/';
for (int k = 1; k < n; k++) {
for (int i = 1; i <= h; i++) {
for (int j = 1; j <= w; j++) {
c[i][w + j] = c[i][j];
}
}
for (int i = 1; i <= h; i++) {
for (int j = 1; j <= w; j++) {
c[i + h][j + w / 2] = c[i][j];
}
}
w *= 2;
h *= 2;
}
for (int i = h; i >= 1; i--) {
for (int j = w; j >= 1; j--) {
cout << c[i][j];
}
cout << endl;
}
return 0;
}
第12行,如果一开始不把字符数组c内元素初始化为' '的话,输出就会成没有前导空格的情况,为什么,有无大神解答,谢谢!