2019年2月5日 星期二

【C++語言】印出等腰三角形

繼上次〈印出直角三角形〉以後,我們也可以稍加改變程式,使其印出等腰三角形。
#include <cassert>
#include <cstdio>

void print_tri(int);
int main(int argc, char *argv[])
{
  if (argc <= 1) {
    std::puts("Enter a number!");
    return -1;
  }
  int h;
  sscanf(argv[1], "%d", &h);
  print_tri(h);
  return 0;
}
void print_tri(int h)
{
  for (int i = 1; i <= h; ++i) {
    for (int j = i; j < h; ++j) {
      std::putchar(' ');
    }
    for (int j = 1 + ((i - 1) << 1); j > 0; --j) {
      std::putchar('*');
    }
    std::putchar('\n');
  }
}