Programme C aide table de multiplication

Fermé
hamrod Messages postés 2 Date d'inscription vendredi 5 septembre 2008 Statut Membre Dernière intervention 5 septembre 2008 - 5 sept. 2008 à 20:37
hamrod Messages postés 2 Date d'inscription vendredi 5 septembre 2008 Statut Membre Dernière intervention 5 septembre 2008 - 5 sept. 2008 à 20:55
Bonjour,
Je débute en programmation donc je me lance des petits défis mais là je suis vraiment bloqués.
Je n'arrive pas à faire mon programme qui est :
De taper un nombre est qu'il soit multiplier par tous les chiffres et que cela face ça par exemple :
2 * 0 = 0
2 * 1 = 2
2 * 2 = 4
...
2 * 10 = 20

Voila ce que j'ai fait :

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
long i = 0,j = 0,resultat = 0;

printf("choisir un nombre : ");
scanf("%ld", &i);

resultat = i * j;

for (j = 0 ; j <= 10 ; j++)
{
printf("%ld * %ld = %ld\n", i, j, resultat);
}

system("PAUSE");
return 0;
}



Mais le probleme c'est qu'a chaque fois que je l'éxecute il me fait ça :

2 * 0 = 0
2 * 1 = 0
2 * 2 = 0
...
2 * 10 = 0

Merci de bien vouloir m'aider.

3 réponses

lenrok Messages postés 1404 Date d'inscription mardi 22 juillet 2003 Statut Membre Dernière intervention 12 décembre 2009 376
5 sept. 2008 à 20:49
Bonjour hamrod,

"resultat = i * j; " Que se passe-t-il avec ce code ?
Tu effectues multiplication qu'une fois : puisque i= ma valeur entrée par scanf et J =0

for (j = 0 ; j <= 10 ; j++)
{
resultat = i * j;
printf("%ld * %ld = %ld\n", i, j, resultat);
}

Dans ce cas j évolue à chaque itération et le calcul est renouvellé après cette itération de j.

Essayes voir...
3
Utilisateur anonyme
5 sept. 2008 à 20:40
Salut, c'est normal, vu que tu n'affecte pas ta variable résultat dans ta boucle. Ceci devrait être écrit

for(j=0; j<=10; j++)
{
 printf("%ld * %ld = %ld\n", i,j, i*j);
}
1
hamrod Messages postés 2 Date d'inscription vendredi 5 septembre 2008 Statut Membre Dernière intervention 5 septembre 2008
5 sept. 2008 à 20:55
OK j'ai compris et merci
0