DÉFIS
Chaque défi est inutile. Aucun n'est une perte de temps : on code pour le plaisir et on apprend pour de vrai.
5 défis
- DifficileSystème
Shell minimal pwd, cd, ls, exit
Écrire un mini-shell C interactif qui lit des commandes sur stdin et implémente pwd, cd, ls et exit en utilisant uniquement les appels POSIX getcwd, chdir, opendir, readdir et closedir.
cAvancé#c#shell90 minmai 2026 - FacileChaînes
Implémenter ROT13 sur les lettres ASCII
Lire une ligne sur stdin et la réimprimer chiffrée en ROT13 : les lettres A-Z et a-z pivotent de 13 positions, tous les autres caractères restent inchangés.
cDébutant#c#chaines30 minmai 2026 - MoyenMémoire
Inverser un tableau d'int en place
Implémenter la fonction void inverser(int *t, size_t n) qui renverse un tableau d'entiers en place en utilisant deux indices convergents, sans tableau auxiliaire.
cIntermédiaire#c#tableaux25 minmai 2026 - MoyenMémoire
Allouer, copier, libérer une chaîne avec malloc
Lire une chaîne sur stdin, la dupliquer dans une zone allouée dynamiquement avec malloc et strncpy, l'afficher, puis libérer la mémoire sans fuite.
cIntermédiaire#c#malloc30 minmai 2026 - FacileI/O
Afficher argv[1] sur stdout
Écrire un programme C qui imprime le premier argument de la ligne de commande sur stdout, ou signale une erreur sur stderr si aucun argument n'est fourni.
cDébutant#c#argv15 minmai 2026
D'abord, faire marcher
On ne cherche pas à optimiser : d'abord, on fait marcher le truc. Optimiser vient ensuite — et ça aussi, ça s'apprend. (Si un défi porte sur l'optimisation, son énoncé le précise.)
Pas de mauvaise réponse
Il n'y a pas de mauvaise réponse à un défi. Le but, c'est de le faire. Ce qui compte, c'est de s'entraîner.
Trop dur ? Au suivant
Un défi te résiste ? N'hésite pas à en prendre un autre. Ils seront encore là demain.