#include<iostream>
#include<cmath>
using namespace std;
const int Len = 66; //宽度
const int Divs = 6; //层数
void subdivide(char arr[], int low, int hight, int level);
int main()
{
char ruler[Len];
int i;
for (i = 1; i < Len - 2; i++)
ruler[i] = ' ';
ruler[Len - 1] = '\0'; //输出时一行字符的结尾
int max = Len - 2;
int min = 0;
ruler[max] = ruler[min] = '|';
cout << ruler << endl;
for (int i = 1; i <= Divs; i++)
{
subdivide(ruler, min, max, i);
cout <<ruler << endl;
}
cin.get();
return 0;
}
void subdivide(char arr[], int low, int hight, int level)
{
if (level == 0)
return;
int mid = (hight + low) / 2;
arr[mid] = '|';
subdivide(arr, low, mid, level - 1);
subdivide(arr, mid, hight, level - 1);
}
递归
最新推荐文章于 2018-08-03 17:32:14 发布