Somme des chiffres d'une chaîne
Exercice · OCaml (option informatique), chapitre 6 — Caractères et chaînes de caractères
Énoncé
Écrire somme_chiffres s, somme des chiffres d'une chaîne ne contenant que des chiffres (ex. "1234" 10).
Corrigé
let somme_chiffres s =
let total = ref 0 in
for i = 0 to String.length s - 1 do
total := !total + (int_of_char s.[i] - int_of_char '0')
done;
!total
Chaque caractère est converti en sa valeur numérique par l'écart de codes, puis ajouté. La précondition (« que des chiffres ») garantit que l'écart est bien dans 0...9.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.