Das darf offiziell niemand wissen:
Tatsache ist, dass man scanf nicht benutzen sollte, da es die böse Angewohnheit hat Zeichen im input buffer zu belassen, obwohl diese bereits zur Auswertung der Ausdrücke in scanf benutzt wurden.Zitat von http://www.utas.edu.au/infosys/info/documentation/C/CStdLib.html#fflush
In dem Fall heißt das: scanf liest deine Zahl ein und lässt das \n (Zeilenumbruch; generiert, wenn du ENTER drückst) im input buffer.
Nun kommt fgets, welches genau auf so ein Zeichen wartet um abzubrechen - es findet dieses Zeichen - und (wer hätte es gedacht) bricht ab.
Was fflush(stdin) jedoch auf allen von mir bisher benutzten Systemen getan hat (aber immer im Kopf behalten: es dürfte sich auch anders verhalten), ist den input buffer zu leeren. Damit wartet fgets dann wirklich auf neue Zeichen und liest nicht die ein, die bereits da sind.
Was für eine Gruppe? Du hast keine Gruppen.