Sterndiamant ('*') in C mit verschachtelten Schleifen drucken?

Ich möchte in der Lage sein, einen Diamanten wie diesen zu drucken, wenn der Benutzer 5 für den Diamanten eingibt. Funktioniert aber auch für jeden Wert, der ungerade und größer als 0 ist.

Ich habe einen Code, der funktioniert, um eine Raute für die Benutzereingabe von 5 zu erstellen, aber nicht für alle Eingaben mit ungeraden Zahlen.

<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>

Jede Hilfe wäre sehr dankbar. Vielen Dank.

Mike

Antworten auf die Frage(11)

Ihre Antwort auf die Frage