fork download
  1. /* --------------------------------------------------------------
  2.  * Γράψτε ένα πρόγραμμα που θα ζητάει έναν ακέραιο n και θα τυπώνει ένα δέντρο από
  3.  * αστερίσκους με ύψος n και πλάτος 2n-1. Για παράδειγμα, για n=6 θα τυπώνει το
  4.  * παρακάτω:
  5.  *
  6.  * *
  7.  * ***
  8.  * *****
  9.  * *******
  10.  * *********
  11.  * ***********
  12.  *
  13.  */
  14.  
  15. #include <stdio.h>
  16. #include <stdlib.h> // for exit()
  17.  
  18. #define EMPTYLINE() putchar('\n')
  19. #define MINHEIGHT 2
  20. #define MAXHEIGHT 20
  21.  
  22. // --------------------------------------------------------------------------
  23. int main ( void )
  24. {
  25. int row, col, n;
  26.  
  27. do {
  28. printf("Ύψος δέντρου (%d-%d); ", MINHEIGHT, MAXHEIGHT);
  29. scanf("%d", &n);
  30. } while( n < MINHEIGHT || n > MAXHEIGHT );
  31.  
  32. printf("πλάτος δέντρου: %d\n", 2*n-1);
  33.  
  34. EMPTYLINE();
  35. for (row=1; row < n+1; row++)
  36. {
  37. for (col=0; col < n-row; col++)
  38. putchar(' ');
  39. for (col=0; col < 2*row-1; col++)
  40. putchar('*');
  41. putchar('\n');
  42. }
  43. EMPTYLINE();
  44.  
  45. exit( 0 );
  46. }
  47.  
stdin
6
compilation info
prog.c: In function ‘main’:
prog.c:29: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result
stdout
Ύψος δέντρου (2-20); πλάτος δέντρου: 11

     *
    ***
   *****
  *******
 *********
***********