C for loop is only looping once

In my for loop I have checked main different things in this code. How can I get this to do more than one loop? Do I need to use a counter? I have looked at some other answers and people have said Use a different variable in the inner loop to overcome the problem. I am not sure how to do that or what I am doing wrong.

#include <cs50.h>
#include <stdio.h>

int main(void)

{
  int n;
  int f;
  int g;
  int h;
  int i;
  int j;
  int k;
  int l;
  do
  {
    n = get_int("Height: \n");
  }
  while(n < 1 || n > 8);

  //Pick number 1 thru 8
  f = 7-n;
  g = 0;
  for (h = 0; h <= f; h++)
  {
    printf(" ");
  }
    for (i = 0; i < n; i++)
    {
      printf("#");
    }
      for (j = 0; j <= g ; j++)
      {
        printf("  ");
      }
        for (k = 0; k < n; k++)
          {
            printf("#");
          }
          for (l = 0; l < n; l++)
            {
              printf("\n");
            }
}
How many English words
do you know?
Test your English vocabulary size, and measure
how many words do you know
Online Test
Powered by Examplum