1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

exercices corrigés langage c: structure alternative - exercice langage c if else

abdelouafiOct 3, 2016

    1. abdelouafi

      abdelouafi Administrator Staff Member

      Messages:
      267
      Likes Received:
      8
      Trophy Points:
      18
      Joined
      Sep 13, 2016

      Exercice :

      Convertir l'algorithme suivant en langage c:
      Code:
      debut
      lire(a,b,c)
      si(a<b)
      alors a=2*b;
      sinon si (a<c)
      alors b=b+c;
      sinin debut
      c=c+10;
      b=b+c;
      fin;
      fin
      fin
      x=a+b+c;
      ecrire(x);
      fin

      Solutions:
      Code:
      #include<stdio.h>
      main(){
      
      int a,b,c,x;
      
      printf("donnez 3 nombres : \n") ;
      scanf("%d %d %d",&a,&b,&c) ;
      
      if (a<b)
           a=2*b;
      else  if (a<c)
               b=b+c;
            else {
              c=c+10;
              b=b+c;
                 }
      x=a+b+c;
      printf("le résultat est %d",x);
      }
      Exercices:
      1-Ecrivez un programme qui lit deux valeurs entières (A et B) au clavier et qui affiche le signe du produit de A et B sans faire la multiplication.

      2- Ecrivez un programme qui lit deux valeurs entières (A et B) au clavier et qui affiche le signe de la somme de A et B sans faire l'addition. Vous pouvez utiliser la fonction fabs qui calcule la valeur absolue d'une variable (fabs(a)).




      Solutions:
      1-
      Code:
      #include <stdio.h>
      main()
      {
      /* Afficher le signe du produit de deux entiers sans
          faire la multiplication
      */
      int A, B;
      printf("Introduisez deux nombres entiers :");
      scanf("%i %i", &A, &B);
      if ((A>0 && B>0) || (A<0 && B<0))
         printf("Le signe du produit %i * %i est positif\n", A, B);
      else if ((A<0 && B>0) || (A>0 && B<0))
         printf("Le signe du produit %i * %i est négatif\n", A, B);
      else
         printf("Le produit %i * %i est zéro\n", A, B);
        return 0;
      }
      2-
      Code:
      #include <stdio.h>
      #include <math.h>
      main()
      
      {
      /* Afficher le signe de la somme de deux entiers sans
          faire l'addition
      */
      int A, B;
      printf("Introduisez deux nombres entiers :");
      scanf("%i %i", &A, &B);
      if ((A>0 && B>0) || (A<0 && B>0 && fabs(A)<fabs(B))
                        || (A>0 && B<0 && fabs(A)>fabs(B)))
          printf("Le signe de la somme %i + %i est positif\n",A,B);
      else if ((A<0 && B<0) || (A<0 && B>0 && fabs(A)>fabs(B))
                             || (A>0 && B<0 && fabs(A)<fabs(B)))
          printf("Le signe de la somme %i + %i est négatif\n",A,B);
      else
          printf("La somme %i + %i est zéro\n", A, B);
        return 0;
      }

      Exercice:
      1- Ecrire un programme qui permet de déterminer le plus petit de 3 nombres?
      2- Ecrire un programme qui permet de trier 3 nombres?


      Solution:
      1-
      Code:
      #include<stdio.h>
      main'){
      
      float a,b,c,min;
      
      printf("donnez le nombre 1 ");
      scanf("%f", &a);
      
      printf("donnez le nombre 2 ");
      scanf("%f", &b);
      
      printf("donnez le nombre 3 ");
      scanf("%f", &c);
      
      if (a<b) {
      if(b<c) min=a;
      else {
      if (c>a) min=a;
      else min=c:
      }
      }
      
      else {
      
      if(a<c) min=b;
      else {
      if (c>b) min=b;
      else min=c:
      }
      }
      printf("le plus petit est %f ", min);
      }


      2-
      Code:
      #include<stdio.h>
      main'){
      
      float a,b,c,min;
      
      printf("donnez le nombre 1 ");
      scanf("%f", &a);
      
      printf("donnez le nombre 2 ");
      scanf("%f", &b);
      
      printf("donnez le nombre 3 ");
      scanf("%f", &c);
      
      if (a<b) {
      if(b<c) printf(" %f %f %f", a,b, c);
      else {
      if (c>a) printf(" %f %f %f", a,c, b);;
      else printf(" %f %f %f", c,a, b);
      }
      }
      
      else {
      
      if(a<c) printf(" %f %f %f", b,a, c);;
      else {
      if (c>b) printf(" %f %f %f",b, c,a);;
      else printf(" %f %f %f", c,b, a);
      }
      }
      
      }
      Exercices:
      1- Ecrire un programme en c qui permet de résoudre une équation deuxième degré avec un seul inconnu:
      ax²+bx+c=0

      2- Ecrire un programme qui détermine si un nombre est pair ou impaire?
      3- soient deux joueur A et B, les deux joueurs se cachent la main droit derrière le dos. A un instant donnée ils décident de montrer un nombre de doigts (de 1 à 5 bien sur). si la somme des doigts de A et de B est pair alors le joueur A gagne sinon le joueur B gagne. Ecrire un programme en C?




      Solutions:
      1-
      Code:
      #include<stdio.h>
      #include <math.h> // cette bibliothèque permet d'utiliser la fonction sqrt qui calcule la racine carré d'un nombre
      float a,b,c,x,x1,x2,d;
      main() {
      
      printf("donnez trois nombre a, b et c ");
      scanf("%f %f %f", &a,&b,&c);
      
      //on calcule le delta
      d=b*b - 4*a*c;
      
      //on teste selon le signe de d
      //3 cas qui existe
      
      if (d=0) {
      x=-b/(2*a);
      printf("la solution est : %f ", x);
      }
      
      else {
      if (d<0) printf("pas de solution ");
      else {
      x1=(-b-sqrt(d))/(2*a);
      x2=(-b+sqrt(d))/(2*a);
      printf("la solution est : %f et %f", x1,x2);
      
      }
      
      }
      
      
      }


      2-

      Code:
      #include<stdio.h>
      int a, r;
      main() {
      
      printf("donnez votre nombre ");
      scanf("%f ", &a);
      
      //on cherche le reste de la division euclidienne de a sur 2
      //2 cas qui existe, soit le reste égale à 0 ou bien à 1
      
      r=a%2;
      
      if (r=0)
      
      printf("%f est pair", a);
      
      else
      printf("%f est impair", a);
      
      
      }


      3-

      Code:
      #include<stdio.h>
      int a, b,s;
      main() {
      
      printf("donnez le nombre des doigts du joueur A ");
      scanf("%f ", &a);
      
      printf("donnez le nombre des doigts du joueur B ");
      scanf("%f ", &b);
      
      s=a+b;
      
      //on cherche le reste de la division euclidienne de s sur 2
      //2 cas qui existe, soit le reste égale à 0 ou bien à 1
      
      r=s%2;
      
      if (r=0)
      
      printf("Le joueur A gagne");
      
      else
      printf("Le joueur b gagne");
      
      
      }


      Exercices :
      1- Ecrire un programme qui lit par clavier une note, et qui affiche admis si la note d'un étudiant est supérieure à 10, et échoué dans le cas contraire?
      2- Ecrire un programme qui détermine la mention selon la note obtenue:
      si 10<=note<12 alors la mention est passable
      si 12<=note<14 alors la mention est assez bien
      si 14<=note<16 alors la mention est bien
      si 16<=note<20 alors la mention est T bien

      3- Ecrire un programme qui demande de lire la température et qui affiche:
      - c'est la glace si T<0
      - c'est liquide si 0<T<100
      -vapeur si T>=100





      Solution:
      Code:
      #include<stdio.h> //bibliothèque pour pouvoir utiliser les instructions d'entrée sortie
      main(){
      float a;
      //on va saisir la valeur du nombre a
      printf(" Donnez votre note a: " );
      scanf(" %f " , &a ); // cette instruction permet de saisir par clavier la valeur de la variable a. Attention ici on utilise le code format %f car la variable a est de type réel.
      
      if (a<10)
      {
      printf(" echoué ");
      }
      else
      {
      printf(" admis ");
      }
      
      
      }


      2-
      solution 1:
      Code:
      #include<stdio.h> //bibliothèque pour pouvoir utiliser les instructions d'entrée sortie
      main(){
      float a;
      //on va saisir la valeur du nombre a
      printf(" Donnez le nombre a: " );
      scanf(" %f " , &a ); // cette instruction permet de saisir par clavier la valeur de la variable a. Attention ici on utilise le code format %f car la variable a est de type réel.
      
      if (a>=10) && (a<12)
      {
      printf(" passable ");
      }
      if (a>=12) && (a<14)
      {
      printf(" assez bien ");
      }
      if (a>=14) && (a<16)
      {
      printf(" bien ");
      }
      
      if (a>=16) && (a<20)
      {
      printf(" Tbien ");
      }
      
      if (a>=0) && (a<10)
      {
      printf(" Nos admis");
      }
      
      if (a>20) && (a<0)
      {
      printf(" cette note est invalide ");
      }
      
      
      }

      solution 2

      Code:
      #include<stdio.h> //bibliothèque pour pouvoir utiliser les instructions d'entrée sortie
      main(){
      float a;
      //on va saisir la valeur du nombre a
      printf(" Donnez le nombre a: " );
      scanf(" %f " , &a ); // cette instruction permet de saisir par clavier la valeur de la variable a. Attention ici on utilise le code format %f car la variable a est de type réel.
      
      if (a>=10)
      {
      if(a<12)
      printf(" passable ");
      else
      if(a<14)
      printf(" Assez bien");
      else
      if(a<16)
      printf(" Bien");
      else
      if(a<=20)
      printf(" T bien ");
      else
      printf(" note invalide ");
      
      
      }
      else {
      if(a>=0)
      printf(" échoué ");
      else
      printf(" note invalide ");
      }
      
      
      }



      3-

      Code:
      #include<stdio.h> //bibliothèque pour pouvoir utiliser les instructions d'entrée sortie
      main(){
      float T;
      //on va saisir la valeur du T
      printf(" Donnez T: " );
      scanf(" %f " , &T ); // cette instruction permet de saisir par clavier la valeur de la variable a. Attention ici on utilise le code format %f car la variable T est de type réel.
      
      if (T<0)
      {
      printf(" c'est la glace ");
      }
      else
      {
      if(a<=100)
      printf(" liquide ");
      else
      printf(" vapeur");
      }
      
      
      }
       
      Last edited: Dec 28, 2016
      Loading...

Share This Page

Share