Je te suggère (mais tu fais ce que tu veux) de :
1) ne déclarer qu'une variable à la fois.
tu en déclares 6 d'une coup à la ligne 3.
2) de toujours donner une valeur (donc de définir ta variable) à la déclaration.
à la ligne 4, tu fais "n = nombre;" qui aurait pu être un "int n(nombre);" typiquement.
C'est très esthétique ça, mais ça évite pas mal de bug (et laisse de la place ajouter des commenteraires sur le rôle des variables).
Sinon, je pense que ce code (celui de 23:23:29) ne marche pas. Intuitivement, les return m'ont l'air mal placés (mais c'est une impression au feeling à la vue du code).