Exercice C

Fermé
Mélanie -  
Mahmah Messages postés 496 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

tout le monde , je suis inquiéte car j'ai un exercice pour demain que je n'arrive pas à résoudre. L'exercice est le suivant :

Faire un programme qui permet de saisir un nombre entier , de déterminer et d'afficher la somme de ses chiffres .

J'avais penser à utiliser le modulo.

Quelqun a une idée ?

2 réponses

cdebutant
 
Bonjour Mélanie,

J'ai commencé hier le C mais utilise getchar() dans une boucle for pour remplir un tableau char s[].
Ensuite s[i]-'0' te donne le chiffre que tu as donné dans getchar().
Tu n'as plus qu'à sommer les différents s[i]-'0'.
0
Melanie
 
Merci mais j'ai pas tout bien compris , j'ai jamais utilisé ses fonctions la

quelqun a une solution a proposé ?
0
Melanie > Melanie
 
up
0
Mahmah Messages postés 496 Date d'inscription   Statut Membre Dernière intervention   125
 
Bonjour,

Pour la saisie cela peut se faire avec un scanf. Quelque chose du genre:
int monEntierLu;

if ( scanf ( "%d", &monEntierLu ) == 1 )
{
    ...
}

scanf prend une chaîne de formatage du même style que printf que tu connais peut-être mieux, puis les adresses des variables dans lesquelles il peut écrire. La valeur de retour est le nombre de variables écrites avec succès.

Pour faire la somme des chiffres, je ferais ça par divisions successives.
En pseudo langage:
entier somme = 0

Tant que monEntierLu > 9
    somme = somme + ( monEntierLu mod 10)   //  ("a modulo b" en C c'est "a % b")
    monEntierLu = monEntierLu / 10

// le dernier chiffre:
somme = somme + ( monEntierLu mod 10)   ("a modulo b" en C c'est "a % b")

voilou,
M.
0
Melanie
 
merci mahmah
0
Mahmah Messages postés 496 Date d'inscription   Statut Membre Dernière intervention   125 > Melanie
 
Mais de rien.

Et en fait le dernier modulo 10 est inutile vu que le nombre est entre 1 et 9. J'ai copier-coller bêtement...
0