fork(1) download
  1. #include <stdio.h>
  2.  
  3. void tri_rec(int n, int m) {
  4. int i;
  5. if (m == 1) {
  6. // line with spaces and 1 +
  7. for (i = 0; i < n - 1; i++) putchar(' ');
  8. puts("+");
  9. return;
  10. }
  11. tri_rec(n, m - 1); // recurse for previous lines
  12.  
  13. // print spaces, 1 +, 0 or more minuses, another +
  14. for (i = 0; i < n-m; i++) putchar(' '); // spaces
  15. putchar('+'); // +
  16. for (i = 0; i < m-2; i++) putchar('-'); // minuses
  17. puts("+"); // +
  18. }
  19.  
  20. void tri(int n) {
  21. tri_rec(n, n-1); // first lines
  22. for (int k = 0; k < n; k++) putchar('+'); // last line
  23. puts("");
  24. }
  25.  
  26. int main(void) {
  27. tri(7);
  28. return 0;
  29. }
  30.  
Success #stdin #stdout 0s 4888KB
stdin
Standard input is empty
stdout
      +
     ++
    +-+
   +--+
  +---+
 +----+
+++++++