c++用迭代做直尺刻度

2014-04-06 17:35:01 · 作者: · 浏览: 106

  c++用迭代做直尺刻度

  #include <IOSTREAM>

  using namespace std;

  const int LEN = 66;

  const int DEVIDE = 6;

  void devide(char arr[], int low, int high, int level);

  int main()

  {

  char ruler[LEN];

  ruler[LEN - 1] = '\0';

  ruler[0] = ruler[LEN - 2] = '|';

  for(int i = 1; i < LEN - 2; i++)

  ruler[i] = ' ';

  int min = 0;

  int max = LEN - 2;

  cout 《 ruler 《 endl;

  for(int j = 1; j <= DEVIDE; j++)

  {

  devide(ruler, min, max, j);

  cout 《 ruler 《 endl;

  }

  return 0;

  }

  void devide(char arr[], int low, int high, int level)

  {

  if(level == 0)

  return;

  int middle = (low + high) / 2;

  arr[middle] = '|';

  devide(arr, low, middle, level - 1);

  devide(arr, middle, high, level - 1);

  }