Multiplication par additions

Un premier exercice nous est proposé : écrire un programme de multiplication de deux nombres entiers qui ne fait usage que de l'addition.

Les différentes parties du code :

  1. /*
  2. Multi.c
  3. multiplication à la russe (utilisation uniquement d'additions)
  4. */
  5. #include <stdio.h>

Prototype de la fonction multi() :

  1. int multi (int,int);

Fonction principale :

  1. void main (void)
  2. {
  3. int p, q;
  4. printf("\nintroduire 2 nbres dont le second est > 0 : ");
  5. scanf("%d",&p);
  6. while (p)
  7. {
  8. scanf("%d", &q);
  9. printf("\n %d * %d = %d\n", p, q, multi(p, q));
  10. printf("\nintroduire 2 nbres dont le second est > 0 : ");
  11. scanf("%d", &p);
  12. }
  13. }

Nous pouvons remarquer ici que les signes opérateurs (*,=) sont considérés uniquement comme éléments de la chaîne de caractères, et non comme opérateurs.
Nous pouvons aussi remarquer l'appel de la fonction multi, à laquelle nous fournissons deux valeurs (arguments).

Fonction multi() :

  1. int multi (int a, int b)
  2. {
  3. int m=0, k;
  4. for (k=0;<b; k++) m+=a;
  5. return m;
  6. }

Document créé le 19/03/2002, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/c-exemple-multiplication.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.