递归 example ruler

来源:互联网 发布:超玩fifaol3数据库 编辑:程序博客网 时间:2024/05/17 02:01
#include<iostream>using namespace std;const int len = 66;const int divs = 6;void subdivide(char ar[],int low,int high,int level);int main(){char ruler[len];int i;for(i=0;i<len-2;i++){ruler[i] = ' ';}ruler[len - 1] = '\0';int max = len-2;int min = 0;ruler[min] = ruler[max] = ' ';cout << ruler << endl;for(i=1;i<=divs;i++){subdivide(ruler,min,max,i);cout << ruler << endl;for(int j = 1;j < len-2;j++){ruler[j] = ' ';}}return 0;}void subdivide(char ar[],int low,int high,int level){if(level == 0)return;int mid = (high + low) / 2;ar[mid] = '|';subdivide(ar,low,mid,level-1);subdivide(ar,mid,high,level-1);}
D:\programming\C++>g++ ruler.cppD:\programming\C++>a                                |                |               |               |        |       |       |       |       |       |       |    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |  | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||


0 0