Sulla ricorsione va bene ... infatti ti è stato detto di studiarla se l'adotti.

Per la printf, beh, se non fate C ma C++ saprai che si usa la cout per visualizzare dati, no ?