OCaml (option informatique) · Chapitre 6 · Exercice de TD
Somme des chiffres d'une chaîne
Caractères et chaînes de caractères · niveau 2
É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.
Exercices semblables
- Palindrome corrigé
- Ordre lexicographique corrigé
- Conversions corrigé
- Compter les mots corrigé
- Répéter une chaîne corrigé