Des Exercices Basique en langage C


Dans cette page vous allez trouver des Exercices faciles en langage C avec leur corrigés , et des petits problèmes que vous allez rencontrer pendant la programmation.

Les Conditions

Exercice 1

écrire un programme en C qui affiche les plus grand de 2 entiers, ces entiers sont saisies au clavier par l'utilisateur.
Voir la Solution
#include<stdio.h>

main(){
int a,b;

printf("saisir les nombres a et b");
scanf("%d",&a);
scanf("%d",&b);

if( a > b ) printf("\nle nombre le plus grand est a = %d",a);
else printf("\nle nombre le plus grand est b = %d",b);

}

Exercice 2

écrire un programme en C qui affiche si un entier est pair ou impair, cet entier est saisie au clavier par l'utilisateur.
Voir la Solution
#include<stdio.h>

main(){
int a;

printf("saisir un nombre entier");
scanf("%d",&a);

if( a%2 == 0 ) printf("\nle nombre est pair");
else printf("\nle nombre est impair");

}

Exercice 3

écrire un programme en C qui donne les solutions réels d'une équation de la forme ax² + bx + c = 0, les nombre réel a,b et c sont saisies au clavier par l'utilisateur. ( dans la bibliothèque math.h la racine carré $\sqrt { x }$ est noté en C par sqrt(x) ).
Voir la Solution
#include<stdio.h>
#include<math.h>

main(){

 float a,b,c,delta,x1,x2;

 printf("Resolution d'une equation du 2éme degré\n");

 printf("saisir le nombre a ( different de 0 ) : ");

 scanf("%f",&a);

 printf("\nsaisir le nombre b : ");

 scanf("%f",&b);

 printf("\nsaisir le nombre c : ");

 scanf("%f",&c);

 delta = b*b - 4*a*c;

 if ( delta < 0 ) printf("\nPas de solutions réelles");
 
 if ( delta == 0 ) {
  x1 = -b/(2*a);
  printf("\nl'equation admet une solution double x = %f ",x1);
 }

 if ( delta > 0 ) {
  x1 = (-b + sqrt(delta))/(2*a);
  x2 = (-b - sqrt(delta))/(2*a);

  printf("\nl'equation admet deux solutions x1 = %f , x2 = %f ",x1,x2);
 }

}

Les Boucles

Exercice 4

écrire un programme en C qui calcule et affiche la somme suivante : 1 + 2 + 3 +...+ N avec N un nombre entier saisie au clavier par l'utilisateur .
Voir la Solution
#include<stdio.h>

main(){
int i,N,S=0;

printf("Saisir le nombre N \n");
scanf("%d",&N);

for(i=0;i<=N;i++) S += i;

printf("la somme est égale a %d ",S);
}

Exercice 5

écrire un programme en C qui génère un bouclage pour imposer a l'utilisateur a saisir un nombre réel entre 0 et 20, i.e : lorsque l'utilisateur saisie un nombre supérieur a 20 ou inférieur a 0, le programme doit afficher un message d'erreur et demander la saisie une autre foi.
Voir la Solution
#include<stdio.h>

main(){

float x;

do { 
 printf("\nsaisir un nombre ")
 scanf("%f",&x);

}while( x > 20 || x < 0 );

}

Exercice 6

a l'aide de la méthode d’Euclide, écrire un programme en C qui calcule affiche le PGCD de 2 entier saisie au clavier par l'utilisateur.
Voir la Solution
#include<stdio.h>

main(){

int a,b,r,c;

printf("saisir le premier nbr :");

scanf("%d",&a);

printf("\nsaisir le deuxieme nbr :");

scanf("%d",&b);

do {
 if ( a > b ) { c = a ; a = b ; b = c ; } /* en veut que b soit toujour superieur a a */
 r = b%a;
 b = r ;

}while ( b != 0 );

printf("\nle pgcd est %d",a);

}

Les Tableaux

Exercice 7 ( remplissage & affichage )

Ecrire un programme en C qui réalise le remplissage et l'affichage d'un tableau d'entiers de taille N , N serait une constante a définir .
Voir la Solution
#include<stdio.h>
#define N 10

main(){

int T[N],i;

// le remplissage 

for(i=0;i<N;i++){ 

 printf("\nsaisir la valeur de la %d éme case",i+1);
 
 scanf("%d",&T[i]);

}

// l'affichage

for(i=0;i<N;i++){ 

 printf("\nla valeur dans la %d éme case est %d",i+1,T[i]);

}

}

Exercice 8 ( le tri )

on veut trier un tableau d'entiers, Ecrire un programme en C qui classe les valeurs du tableau selon l'ordre croissant.

Exercice 9 ( le tassage )

On a un tableau d'entier de taille N, Ecrire un programme en C qui déplace les cases qui ont pour valeur 0 a la fin du tableau .
Voir la Solution
#include<stdio.h>
#define N 10

main(){

int T[N],i,j,c;

// le remplissage 

for(i=0;i<N;i++){ 

 printf("\nsaisir la valeur de la %d éme case",i+1);
 
 scanf("%d",&T[i]);

}

// le tassage

j=0;

for(i=0;i<N;i++){

 if( T[i] != 0 ) { 
  c = T[i]; 
  T[i] = T[j]; 
  T[j] = c; 
  j++; 
 }
}
for(i=j+1;i<N;i++) T[i] = 0;

// l'affichage apres le tassage

for(i=0;i<N;i++){ 

 printf("\nla valeur dans la %d éme case est %d",i+1,T[i]);

}

}

Les Fonctions

Exercice 10

Ecrire en langage C une fonction de prototype float Moy(float a,float b) qui return la valeur moyenne de deux nombres réels a et b
Voir la Solution
float Moy(float a, float b) { return (a+b)/2; }

Exercice 11

on définit la fonction factorielle de la manière suivante:
0! = 1
n! = n*(n-1)*(n-2)* ... * 1 (pour n>0)
Ecrire une fonction de prototype int FACT(int n) qui reçoit la valeur n  supposé positive comme paramètre et qui fournit la factorielle de n comme résultat.
Voir la Solution
int FACT(int n){

int i,fact=1;

for(i=1;i<=n;i++) fact = fact*i;

return fact; 
}

Exercice 12

Ecrire un programme qui:
‐ Demande à l’utilisateur d’entrer au clavier deux nombres entiers a et b,
‐ Stocke ces données dans des variables,
‐ Fait appel à une fonction Min qui retourne le plus petit des 2 nombres entrés.
‐ Affiche le plus petit des 2 nombres dans le programme principal.
Voir la solution
#include<stdio.h>

int Min( int a ; int b ) {

 if ( a > b ) return b;
 else return a;
}

main(){

int a,b;

printf("saisir le premier nbr ");

scanf("%d",&a);

printf("saisir le deuxieme nbr ");

scanf("%d",&b);

printf("le minimum de ces nbrs est %d",Min(a,b));

}
Partager avec vos amis :

3 commentaires :

  1. Écrire un programme qui affiche les deux plus grands nombres de cinq nombres entrés au clavier

    RépondreSupprimer
    Réponses
    1. Mettre les cinq nombre dans un tableau puis trie le tableau et prend les deux derniers nombre s

      Supprimer

Formulaire de contact

Nom

E-mail *

Message *

MedAnassSDK. Fourni par Blogger.