Печать звездочки ('*') алмаза в C с вложенными петлями?

Я хочу иметь возможность печатать алмаз, как это, когда пользователь вводит 5 для алмаза. Но также будет работать для любого значения, которое нечетно и больше 0.

enter image description here

У меня есть код, который работает, чтобы сделать бриллиант для пользовательского ввода 5, но не работает для всех вводов нечетных чисел.

<code> half = (size/2)+1;

 for (a=1; a <=  half ; a++) /*top to mid row of diamond*/
   {
     for (b=a; b<half;b++)
       {
     printf(" ");
       }
     for (c= size -2* a; c <=  half; c++)
       {
     printf("*");
       } 
      printf("\n");
   }
 for (a = 1; a < half;a++)
   {
     for (b = a; b>0;b--)
       {
     printf(" ");
       }
     for (c = size-2*a; c >0 ;c--)
       {
     printf("*");
       }
     printf("\n");
   }


  return 0;
}
</code>

Любая помощь будет принята с благодарностью. Спасибо.

Майк

Ответы на вопрос(11)

Ваш ответ на вопрос