C_facile : Introduction au langage C
Cours

Les vases communicants

Exemple

#include <stdio.h>

int main()

{

        int i, n1, n2;

        int transvasement;

        printf("\nentrer un nombre entier positif ");

        scanf("%d",&n1);

        printf("\nentrer un nombre entier positif ");

        scanf("%d",&n2);

        transvasement = 0;

        while ((n1 != n2)&&(n1+1!=n2)&&(n1!=n2+1)) // réfléchissez à cette condition d'arrêt.

        {

                if (n1>n2)

                {

                        n1--;

                        n2++;

                }

                else

                {

                        n1++;

                        n2--;

                }

                transvasement++;

        }

        printf("\n\nil y a eu %d transvasements et n1 = %d et n2 = %d ", transvasement,n1,n2);

        printf("\n\n");

}

Exemples de sortie écran :

Exemple 1:

entrer un nombre entier positif 8

entrer un nombre entier positif 2

il y a eu 3 transvasements et n1 = 5 et n2 = 5

Exemple 2 :

entrer un nombre entier positif 8

entrer un nombre entier positif 3

il y a eu 2 transvasements et n1 = 6 et n2 = 5

AttentionQuestion

si l'on change le test ((n1 != n2) && (n1+1!=n2) && (n1!=n2+1)) par (n1 != n2) que se passe-t-il avec n1=7 et n2=3, puis avec n1 = 7 et n2 = 4 ?

Exécutez à la main le code pour répondre, vous verrez (voir conseils point 3).

Autres Exemples de boucles (page suivante)Le nombre de chiffres (page Précédente)
AccueilImprimer creativecommons : by-nc-ndRéalisé avec SCENARI