Aide pour un programme C
abdelmounaime
Messages postés
13
Statut
Membre
-
fiddy Messages postés 11653 Statut Contributeur -
fiddy Messages postés 11653 Statut Contributeur -
Bonjour tout le monde,
je suis debutant en programmation C et je veux améliorer ce programme en demandant à l'utilisateur d'entrer un nombre entier N et par la suite le programme fait la somme de ses chiffres et si le résultat de cette somme est supérieur à un chiffre on refait la somme de ces chiffres.
Exemple:
N= 12345 -----> S= 1+2+3+4+5 ---------> S= 15 ------------> S=6
Merci d'avance et bonne journée
je suis debutant en programmation C et je veux améliorer ce programme en demandant à l'utilisateur d'entrer un nombre entier N et par la suite le programme fait la somme de ses chiffres et si le résultat de cette somme est supérieur à un chiffre on refait la somme de ces chiffres.
Exemple:
N= 12345 -----> S= 1+2+3+4+5 ---------> S= 15 ------------> S=6
#include <stdio.h>
main()
{
/* Déclarations */
int T[50]; /* tableau donné */
int N; /* dimension */
int I; /* indice courant */
long SOM; /* somme des éléments - type long à cause */
/* de la grandeur prévisible du résultat. */
/* Saisie des données */
printf("Dimension du tableau (max.50) : ");
scanf("%d", &N );
for (I=0; I<N; I++)
{
printf("Elément %d : ", I);
scanf("%d", &T[I]);
}
/* Affichage du tableau */
printf("Tableau donné :\n");
for (I=0; I<N; I++)
printf("%d ", T[I]);
printf("\n");
/* Calcul de la somme */
for (SOM=0, I=0; I<N; I++)
SOM += T[I];
/* Edition du résultat */
printf("Somme de éléments : %ld\n", SOM);
return 0;
}
Merci d'avance et bonne journée
A voir également:
- Aide pour un programme C
- Programme demarrage windows - Guide
- Mettre en veille un programme - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Forcer la fermeture d'un programme - Guide
- Programme word gratuit - Guide
2 réponses
Salut !
Tu fais de la voyance numéro-logique ?^^
Sinon pour faire ce genre de programme je te conseil plus d'utiliser un module et une division euclidienne.
Par exemple pour 42 :
42 mod 10 = 2 -> Tu récupères le 2
42 div 10 = 4 -> Tu récupères le chiffre des dizaines (4)
Tu fais de la voyance numéro-logique ?^^
Sinon pour faire ce genre de programme je te conseil plus d'utiliser un module et une division euclidienne.
Par exemple pour 42 :
42 mod 10 = 2 -> Tu récupères le 2
42 div 10 = 4 -> Tu récupères le chiffre des dizaines (4)
fiddy
Messages postés
11653
Statut
Contributeur
1 847
Du coup, ça sera moins efficace...
abdelmounaime
Messages postés
13
Statut
Membre
1
merci bcp antoine je vais essayer ça ;)
fiddy
Messages postés
11653
Statut
Contributeur
1 847
>
abdelmounaime
Messages postés
13
Statut
Membre
Ton programme sera moins performant ;-)
Bonjour,
main()
Le bon prototype est : int main(void)
Note : par convention, on utilise plutôt des lettres minuscules pour le nom des variables.
Pourquoi passer par un tableau ?
Tu as besoin de stocker le résultat ?
Sinon tu peux tout simplement faire une addition au fur et à mesure que tu rentres les variables.
Dans ton énoncé, tu dis :
et si le résultat de cette somme est supérieur à un chiffre on refait la somme de ces chiffres.
Je ne vois pas cette partie dnas ton code...
main()
Le bon prototype est : int main(void)
Note : par convention, on utilise plutôt des lettres minuscules pour le nom des variables.
Pourquoi passer par un tableau ?
Tu as besoin de stocker le résultat ?
Sinon tu peux tout simplement faire une addition au fur et à mesure que tu rentres les variables.
Dans ton énoncé, tu dis :
et si le résultat de cette somme est supérieur à un chiffre on refait la somme de ces chiffres.
Je ne vois pas cette partie dnas ton code...