Vous êtes sur la page 1sur 56

Changement de deux valeur

Ecrire un algorithme qui veut permet d’échanger les valeurs de


deux entiers A et B et quelque soit leur Contenu près a lors

Solution :

#include <stdio.h>

#include <stdlib.h>

int main(int argc, char *argv[])

int a,b,x;

printf("\n\n");

printf("-----------------Changement des valeur entre 2 variable---------------");

printf("\n\n");

printf("Entrez la valeur de A :");

scanf("%d",&a);

printf("Entrez la valeur de B :");

scanf("%d",&b);

printf("\n");

x=a;

a=b;

b=x;

printf("la nouvelle valeur de A est : %d\n",a);

printf("la nouvelle valeur de B est : %d\n",b);

system("PAUSE");

return 0;

}
Caluler la Surface

Ecrire un algorithme qui veut permet de calculer la surface


d’un cercle rayon R.

Solution :

#include <stdio.h>

#include <stdlib.h>

int main(int argc, char *argv[])

double rayon,surface;

const pi=3.14159;

printf("\n");

printf("----------------------Calculer Surface du Cercle de Rayon----------------------");

printf("\n\n");

printf("Entrez la valeur de rayon :");

scanf("%lf",&rayon);

surface=(double)pi*rayon*rayon;

printf("la surface du cercle du rayon %lf est : %lf \n",rayon,surface);

system("PAUSE");

return 0;

}
Calculer TTC :

Ecrire un algorithme qui lit le prix hortax d’un article et le


taux de TVA et qui fournit le prix Total TTC Correspendant .

Solution :

#include<stdio.h>

#include<stdlib.h>

int main()

double pht,tva,ttc;

int N;

printf("Entrez le prix hors taxes :");

scanf("%lf",&pht);

printf("Entrez le nombre d'article :");

scanf("%d",&N);

printf("Entrez le taux de TVA :");

scanf("%lf",&tva);

ttc=N*(pht+(pht*tva));

printf("le prix total correspendant est : %lf\n",ttc);

system("pause");

return 0;

}
Le plus petit de 2 nombre :

Ecrire un algorithme qui veut permet de determiner le plus


petit de deux entiers A et B .

Solution :

#include<stdio.h>

#include<stdlib.h>

int main(int argc, char *argv[])

int a,b;

printf("Entrez le nombre A : ");

scanf("%d",&a);

printf("Entrez le nombre B : ");

scanf("%d",&b);

if (a>b)

printf("Le plus petit des deux nombre %d et %d est : %d \n\n",a,b,b);

else if (b==a)

printf("%d et %d sont Egaux\n\n",a,b);

else

printf("Le petit des deux nombre %d et %d est : %d\n\n",a,b,a);

system("PAUSE");

return 0;

}
Equation 1 er Degree :

Ecrire un algorithme qui veut permet de resoudre l’equation


de 1 ere Degree ax + b =0 .

Solution :

#include <stdio.h>

#include <stdlib.h>

int main(int argc, char *argv[])

double a,b,x;

printf("Entrez la valeur de A :");

scanf("%lf",&a);

printf("Entrez la valeur de B :");

scanf("%lf",&b);

if (a!=0)

x=(-(b/a));

printf("La solution est : %lf \n\n",x);

else if (b==0)

printf("La solution est R \n\n");

else

printf("Pas de solution\n\n");

system("PAUSE");

return 0;}
Equation 2 eme Degree :

Ecrire un algorithme qui veut permet de resoudre l’equation


de 2 ere Degree

ax ² + bx + C = 0 .

Solution :

#include<stdio.h>

#include<stdlib.h>

#include<math.h>

int main(int argc, char *argv[])

double a,b,c,x,x1,x2,X,e,delta;

printf("Entrez la valeur de A :");

scanf("%lf",&a);

printf("Entrez la valeur de B :");

scanf("%lf",&b);

printf("Entrez la valeur de C :");

scanf("%lf",&c);

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

e = sqrt(delta);

if (a==0)

if (b!=0)

x=-c/b;

printf("La solution est : %lf \n\n",x);

else if (c==0)

{
printf("La solution est R \n\n");

else

printf("Pas de solution\n\n");

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

else if (delta>0)

x1=(((-b)+e)/(2*a));

x2=(((b)-e)/(2*a));

printf("La solution est :%lf et %lf\n\n",x1,x2);

else if (delta=0)

X=((-b)/(2*a));

printf("La solution est : %lf\n\n",X);

else

printf("Pas de solution\n\n");

system("PAUSE");

return 0;

}
Calculer la moyenne Generale :

Ecrire un algorithme demande a l’utilisateur d’entrée 3 matières


avec leur coefficients et Calculer la moyenne général et afficher
un message selon la moyen général .

 Le candidat et admis si Mg > 12

 Le candidat passe a l’orale si 10 < Mg < 12

 Le candidat n’est pas admis si Mg < 10

Solution :

#include <stdio.h>

#include <stdlib.h>

int main(int argc, char *argv[])

double M1,M2,M3,L1,L2,L3,MG;

printf("Entrez la moyenne 1 : ");

scanf("%lf",&M1);

printf("Entrez sa coficients :");

scanf("%lf",&L1);

printf("Entrez la moyenne 1 : ");

scanf("%lf",&M2);

printf("Entrez sa coficients :");

scanf("%lf",&L2);

printf("Entrez la moyenne 1 : ");

scanf("%lf",&M3);

printf("Entrez sa coficients :");

scanf("%lf",&L3);

MG=(((M1*L1)+(M2*L2)+(M3*L3))/(L1+L2+L3));
if (MG<10)

printf("Le candidat n'est pas admis\n\n");

else if (MG<=12)

printf("Le candidat passe a l'orale\n\n");

else

printf("Le candidat est admis\n\n");

system("PAUSE");

return 0;

Factorielle :

Ecrire un algorithme qui demande un nombre de depart et qui


Calcul ca factorielle .

Solution :
#include<stdio.h>

#include<stdlib.h>

int main()

int x,f,i;

printf("\n");

printf("-------------------------------La Factorielle----------------------------------");

printf("\n\n");

printf("Entrez un nombre :");

scanf("%d",&x);

printf("\n");

f=1;

for(i=1;i<=x;i++)

f*=i;

printf("la factorielle de %d est : %d\n\n",x,f);

system("PAUSE");

return 0;

La puissance :

Ecrire un algorithme qui veut permet de calculer la puissance d’un


nombre donnée .

Solution :

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

int main()

int i,p,x,n;

printf("\n");

printf("-------------------------------La Puissance------------------------------------");

printf("\n\n");

printf("Entrez le nombre :");

scanf("%d",&x);

printf("\n");

printf("Entrez la puissance :");

scanf("%d",&n);

printf("\n");

p=1;

for(i=1;i<=x;i++)

p*=x;

printf("%d a la puissance %d est : %d\n\n",x,n,p);

system("PAUSE");

return 0;

Calculer Remise :

Ecrire un algorithme qui veut permet de lire la suite des Prix (en
dirham et terminer par 0 ) des achats d’un client , Calculez la sommes s’il
doit , Lire la somme qu’il paye , et Singulier la remise de la money en
affichant 10 drh , 5 drh , 1 drh .

Solution :
#include <stdio.h>

#include <stdlib.h>

int main(int argc, char *argv[])

int s,prix,p,remise,reste,NB10,NB5,NB1;

s=0;

printf("Entrer le prix :");

scanf("%d",&prix);

while (prix != 0 )

s+=prix;

printf("Entrer le prix suivant :");

scanf("%d",&prix);

printf("Vous-devez %d DH\n\n",s);

printf("Entrer la somme que vous devez donner :");

scanf("%d",&p);

remise=p-s;

NB10=0;NB1=0;NB5=0;

while (remise>=10)

remise=remise-10;

NB10=NB10+1;

if (remise>=5)

NB5=1;

remise=remise-5;
NB1=remise;

else

NB1=remise;

printf("la monnaie a rendre est : %d 10DH \n\n",NB10);

printf("la monnaie a rendre est : %d 5DH \n\n",NB5);

printf("la monnaie a rendre est : %d 1DH \n\n",NB1);

system("PAUSE");

return 0;

Calculer le Produit :

Ecrire un algorithme qui Saisie des entiers et en a fiche la somme


et la moyenne (on arrête la saisie avec la valeur 0).

Solution :

#include <stdio.h>

#include <stdlib.h>

int main(int argc, char *argv[])

int N,s,p,i;

double moy;

s=0;

i=0;

p=1;

do

{
printf("Entrer un nombre non nuls :");

scanf("%d",&N);

if (N<0 || N>9)

printf("\a\a\a\a");

printf("Entrer un autre nombre entre 0 et 9 :");

scanf("%d",&N);

else

s+=N;

p*=N;

i++;

while (N != 0);

moy=(double)s/i;

printf("la somme est :%d",s);

printf("le produit est :%d",p);

printf("la moyenne est :%lf",moy);

system("PAUSE");

return 0;

Produit de deux nombre :


Ecrire un algorithme qui donne 2 nombre a l’utilisateur et qui
l’informe ensuite selon produit et négatif ou positif on ne doit
pas Calculer le produit .

Solution :

#include<stdio.h>

#include<stdlib.h>

int main()

double A,B;

printf("Entrez la valeur de A :");

scanf("%lf",&A);

printf("Entrez la valeur de B :");

scanf("%lf",&B);

if (A>0 && B>0 || A<0 && B<0)

printf("le produit est positif\n");

else if (A==0 || B==0)

printf("le produit est nul\n");

else

printf("le produit est negatif\n");

system("pause");

return 0;

}
Service Prix de Bibliothèque :

Le service de prix de la bibliothèque a adopte le règlement


suivant tout les lecteurs de la catégorie :

A peuvent emprinte des livre pour une durée maximal de 20


Jours .

B ne peut pas accéder 30 Jours.

C peuvent conserver des Volu pendant 45 Jours.

Aucun lecteur ne pera avoir Can présentions plus de 5 ouvrage et


ce la quelque soit catégorie traduit ce règlement sous la forme
d’un algorithme .

Solution :

#include<stdio.h>

#include<stdlib.h>

int main()

int N;

char Cat;

if (N<5)

printf("Entrez la Categorie :");

scanf("%s",&Cat);

switch (Cat)

case 'A' :printf("Duree max de 20 Jours\n");

break;

case 'B' :printf("Duree max de 30 Jours\n");

break;

case 'C' :printf("Duree max de 45 Jours\n");

break;

default :printf("Saisie errone\n");


break;

N++;

else

printf("Vous n'avez pas le droit \n");

system("pause");

Ecrivez un programme qui lit N nombres entiers au clavier et qui affiche


leur somme, leur produit et leur moyenne. Choisissez un type approprié
pour les valeurs à afficher. Le nombre N est à entrer au clavier.
Résolvez ce problème,

a) en utilisant while,

b) en utilisant do - while,

c) en utilisant for.

d) Laquelle des trois variantes est la plus naturelle pour ce problème?

Solution :

en utilisant for.

#include <stdio.h>

#include <stdlib.h>

int main(int argc, char *argv[])

system("color 0C");

int p,s,nbr,i,n;

double b;

printf("Entrez le nombre des valeur : ");

scanf("%d",&nbr);
s=0;

p=1;

for(i=1;i<=nbr;i++)

printf("Entre le nombre :");

scanf("%d",&n);

s+=n;

p*=n;

printf("la somme est : %d\n",s);

printf("le produit est : %d\n",p);

b=(double)s/nbr;

printf("la moyenne est : %lf\n",b);

system("PAUSE");

return 0;

en utilisant while,

i=1;

while (i<=nbr)

printf("Entre le nombre :");

scanf("%d",&n);

s+=n;

p*=n;

i++;

printf("la somme est : %d\n",s);


printf("le produit est : %d\n",p);

b=(double)s/nbr;

printf("la moyenne est : %lf\n",b);*/

system("PAUSE");

return 0;

en utilisant do - while,

#include <stdio.h>

#include <stdlib.h>

int main(int argc, char *argv[])

system("color 0C");

int p,s,nbr,i,n;

double b;

printf("Entrez le nombre des valeur : ");

scanf("%d",&nbr);

s=0;

p=1;

i=1;

do

printf("Entre le nombre :");

scanf("%d",&n);

s+=n;

p*=n;

i++;

while (i<=nbr);
printf("la somme est : %d\n",s);

printf("le produit est : %d\n",p);

b=(double)s/nbr;

printf("la moyenne est : %lf\n",b);

system("PAUSE");

return 0;

Maximun d’un tableau :

Ecrire un algorithme qui veut permet de determiner le plus grand


element d’un tableau ainsi qui sa position .

Solution :

#include<stdio.h>

#include<stdlib.h>

int main()

int tab[5];

int max,i,p;

printf("Entrez le nombre 1:");

scanf("%d",&tab[1]);

max=tab[1];

p=1;

for(i=2;i<=5;i++)

printf("Entrez le nombre suivant :");

scanf("%d",&tab[i]);

if (tab[i]>max)

max=tab[i];
p=i;

printf("le maximun des valeur est : %d\n",max);

printf("la position des valeur maximun est : %d\n",p);

system("PAUSE");

return 0;}

Insérer un élément dans un tableau :

Ecrire un algorithme qui veut permet d’insérer un élément X


entier par l’utilisateur à la position i du tableau .

Solution :

#include<stdio.h>

#include<stdlib.h>

int main()

int t[5],i,j,p,N,x;

printf("Entrez la dimension de tableau :");

scanf("%d",&N);

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

printf("Entrez la valeur %d :",i+1);

scanf("%d",&t[i]);

printf("Entrez la valeur que vous-voulez ajoutez :");

scanf("%d",&x);

printf("Entrez sa posiition :");


scanf("%d",&p);

N++;

for(i=N-1;i>p;i--)

t[i]=t[i-1];

t[p]=x;

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

printf("%2d",t[i]);

printf("\n");

system("pause");

return 0;

Supprimer une valeur dans un tableau trié :

Un tableau A de dimension N+1 contient N valeurs entières triées


par ordre croissant ; la (N+1)ième valeur est indéfinie . Supprimmer une
valeur selon sa position donnée au clavier dans le tableau A de
manière à obtenir un tableau de N-1 valeurs triées.

Solution :

#include<stdio.h>

#include<stdlib.h>

int main()

int t[5],i,j,p,N,x;

printf("Entrez la dimension de tableau :");

scanf("%d",&N);
for(i=0;i<N;i++)

printf("Entrez la valeur %d :",i+1);

scanf("%d",&t[i]);

printf("Entrez la position que vous-voulez Supprimer :");

scanf("%d",&p);

for(i=p+1;i<N;i++)

t[i-1]=t[i];

N--;

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

printf("%2d",t[i]);

printf("\n");

system("pause");

return 0;

Tris a Bulle :

#include<stdio.h>

#include<stdlib.h>

int main()

int t[50],i,j,x,N,p,inver;

printf("\n");
printf("Entrez la dimension de tableau :");

scanf("%d",&N);

printf("\n");

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

printf("\tl'element %d est :",i+1);

scanf("%d",&t[i]);

do

inver=0;

for(i=0;i<N-1;i++)

if (t[i]>t[i+1])

x=t[i+1];

t[i+1]=t[i];

t[i]=x;

inver=1;

while (inver==i);

printf("\tApres le triee\n");

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

printf("\tl'element %d de tableau est : %d\n",i+1,t[i]);

}
system("pause");

return 0;

Tris par Permutation :

#include<stdio.h>

#include<stdlib.h>

int main()

int t[50],i,j,x,N;

printf("\n");

printf("Entrez la dimension de tableau :");

scanf("%d",&N);

printf("\n");

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

printf("\tl'element %d est :",i+1);

scanf("%d",&t[i]);

for(i=1;i<N;i++)

if (t[i]<t[i-1])

j=i;

do

x=t[j-1];

t[j-1]=t[j];

t[j]=x;
j--;

while ( j!= 0 && t[j-1]>=t[j]);

printf("\tApres le triee\n");

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

printf("\tl'element %d de tableau est : %d\n",i+1,t[i]);

system("pause");

return 0;

Tris par Comptage :

#include<stdio.h>

#include<stdlib.h>

int main ( int argc,char*argv[])

int i,j,t[5],cpt,nbr[5],pos[5];

for (i=0;i<=4;i++)

printf("entrer une valeur \n");


scanf("%d",&t[i]);

for(i=0;i<=4;i++)

nbr[i]=0;

pos[i]=0;

for(j=0;j<=4;j++)

if(t[j]<t[i])

nbr[i]+=1;

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

j=nbr[i];

while(pos[j]!=0){

j=j+1;

pos[j]=t[i];

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

printf("%d ",pos[i]);

system("pause");

return 0;

Multiplication de deux matrices :


Ecrire un programme qui effectue la multiplication de deux matrices A et
B. Le résultat de la multiplication sera mémorisé dans une troisième
matrice C qui sera ensuite affichée.

Solution :

#include<stdio.h>

#include<stdlib.h>

int main()

int mat[10][10],t[10][10],i,j,n,m,a;

printf("Entrez le nombre des ligne :");

scanf("%d",&n);

printf("Entrez le nombre des collones :");

scanf("%d",&m);

for(i=0;i<n;i++)

for(j=0;j<m;j++)

printf("Entrez la valeur mat[%d][%d] :",i+1,j+1);

scanf("%d",&mat[i][j]);

for(i=0;i<n;i++)

for(j=0;j<m;j++)

printf("%7d",mat[i][j]);

}
printf("\n");

printf("Entrez le nombre que vous-voulez multiplier :");

scanf("%d",&a);

for(i=0;i<n;i++)

for(j=0;j<m;j++)

mat[i][j] =mat[i][j]*a;

printf("\n");

for(i=0;i<n;i++)

for(j=0;j<m;j++)

printf("%7d",mat[i][j]);

printf("\n");

system("pause");

return 0;

Transposition d'une matrice


Ecrire un programme qui effectue la transposition tA d'une matrice A de
dimensions N et M en une matrice de dimensions M et N.

Solution :

#include <stdio.h>

#include<stdlib.h>

main()

/* Déclarations */

int A[5][5]; /* matrice initiale */

int B[5][5]; /* matrice résultat */

int N, M; /* dimensions des matrices */

int i, j;

/* Saisie des données */

printf("Entrez le Nombre de lignes : ");

scanf("%d",&N );

printf("Entrez le Nombre de colonnes : ");

scanf("%d",&M );

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

for (j=0; j<M; j++)

printf("l'Elément[%d][%d] : ",i,j);

scanf("%d",&A[i][j]);

/* Affichage de la

matrice */

printf("Matrice donnée :\n");

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


{

for (j=0; j<M; j++)

printf("%7d", A[i][j]);

printf("\n");

/* Affectation de la matrice transposée à B */

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

for (j=0;j<M; j++)

B[j][i]=A[i][j];

/* Edition du résultat */

/* Attention: maintenant le rôle de N et M est inversé. */

printf("Matrice résultat :\n");

for (i=0; i<M; i++)

for (j=0; j<N; j++)

printf("%7d", B[i][j]);

printf("\n");

system("pause");

return 0;

Multiplication d'une matrice par un réel :

Ecrire un programme qui réalise la multiplication d'une matrice A par un


réel X.

Solution :

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

int main()

int mat[10][10],t[10][10],i,j,n,m,a;

printf("Entrez le nombre des ligne :");

scanf("%d",&n);

printf("Entrez le nombre des collones :");

scanf("%d",&m);

for(i=0;i<n;i++)

for(j=0;j<m;j++)

printf("Entrez la valeur mat[%d][%d] :",i+1,j+1);

scanf("%d",&mat[i][j]);

for(i=0;i<n;i++)

for(j=0;j<m;j++)

printf("%7d",mat[i][j]);

printf("\n");

printf("Entrez le nombre que vous-voulez multiplier :");

scanf("%d",&a);
for(i=0;i<n;i++)

for(j=0;j<m;j++)

mat[i][j] =mat[i][j]*a;

printf("\n");

for(i=0;i<n;i++)

for(j=0;j<m;j++)

printf("%7d",mat[i][j]);

printf("\n");

system("pause");

return 0;

Addition de deux matrices :

Ecrire un programme qui réalise l'addition de deux matrices A et B de


mêmes dimensions N et M.

Solution :

#include <stdio.h>

#include<stdlib.h>
main()

/* Déclarations */

int A[5][5]; /* matrice donnée */

int B[5][5]; /* matrice donnée */

int C[5][5]; /* matrice résultat */

int N, M; /* dimensions des matrices */

int i,j; /* indices courants */

/* Saisie des données */

printf("Entrez le Nombre de lignes : ");

scanf("%d", &N );

printf("Entrez le Nombre de colonnes : ");

scanf("%d", &M );

printf("*** Matrice A ***\n");

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

for (j=0; j<M; j++)

printf("Elément[%d][%d] : ",i,j);

scanf("%d", &A[i][j]);

printf("*** Matrice B ***\n");

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

for (j=0; j<M; j++)

printf("Elément[%d][%d] : ",i,j);
scanf("%d", &B[i][j]);

/* Affichage des matrices */

printf("Matrice donnée A :\n");

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

for (j=0; j<M; j++)

printf("%7d", A[i][j]);

printf("\n");

printf("Matrice donnée B :\n");

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

for (j=0;j<M; j++)

printf("%7d", B[i][j]);

printf("\n");

/* Affectation du résultat de l'addition à C */

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

for (j=0; j<M; j++)

C[i][j] = A[i][j]+B[i][j];

/* Edition du résultat */

printf("Matrice résultat C :\n");

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

for (j=0; j<M;j++)


printf("%7d", C[i][j]);

printf("\n");

system("pause");

return 0;

Triangle de Pascal :

Ecrire un programme qui construit le triangle de PASCAL de degré N et le


mémorise dans une matrice carrée P de dimension N+1.

Solution :

#include<stdio.h>

#include<stdlib.h>

int main()

int t[20][20];

int i,j,a;

do

printf("Entrez le degree de triangle de pascal :");

scanf("%d",&a);

while (a<1 || a>13);

for(i=0;i<=a;i++)

t[i][0]=1;

t[i][i]=1;
for(j=1;j<i;j++)

t[i][j]=t[i-1][j]+t[i-1][j-1];

printf("\n");

for(i=0;i<=a;i++)

printf("N = %2d",i);

for(j=0;j<=i;j++)

printf("%5d",t[i][j]);

printf("\n");

system("pause");

return 0;

Traingle :

Affichez un triangle isocèle formé d'étoiles de N lignes (N est fourni au


clavier):

Nombre de lignes : 8

*
***
*****
*******
*********
***********
*************
***************

Solution :

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

int main()
{
int i,j,k,nbr;

printf("Entrez le nombre de ligne :");


scanf("%d",&nbr);

for(i=0;i<nbr;i++)
{
printf("\t\t");
for(j=1;j<nbr-i;j++)

printf(" ");
for(k=nbr/2-i;k<=nbr/2+i;k++)
printf("*");

printf("\n");
}

system("pause");
return 0;
}

Triangle :

Affichez un triangle isocèle formé d'étoiles de N lignes (N est fourni au clavier):

Nombre de lignes : 8

*
***
*****
*******
*********
***********
*************
***************
*************
***********
*********
*******
*****
***
*

Solution :

#include<stdio.h>

#include<stdlib.h>

int main()

int i,j,k,nbr;

printf("Entrez le nombre de ligne :");

scanf("%d",&nbr); for(i=0;i<nbr;i++)

printf("\t\t");

for(j=1;j<nbr-i;j++)

printf(" ");

for(k=nbr/2-i;k<=nbr/2+i;k++)

printf("*");

printf("\n");

for(i=nbr-2;i>=0;i--)

printf("\t\t");

for(j=1;j<nbr-i;j++)
printf(" ");

for(k=nbr/2-i;k<=nbr/2+i;k++)

printf("*");

printf("\n");

system("pause");

return 0;

Inverse Phrase :

Ecrire un programme qui lit 5 mots, séparés par des espaces et qui les
affiche ensuite dans une ligne, mais dans l'ordre inverse. Les mots sont
mémorisés dans 5 variables M1, ... ,M5.

Solution :

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

int main()

char mot[5][20];

char t1[5][100];

int i;

for(i=0;i<5;i++)

printf("Entrez le mot %d :",i+1);

scanf("%s",mot[i]);

}
for(i=0;i<5;i++)

printf("%s ",mot[i]);

printf("\n");

for(i=4;i>=0;i--)

printf("%s ",mot[i]);

system("pause");

return 0;

Suppr Letrre dans une Phrase :

Ecrire un programme qui lit un texte TXT (de moins de 200 caractères) et
qui enlève toutes les apparitions du charactère 'e' en tassant les éléments
restants. Les modifications se feront dans la même variable TXT.

Solution :

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

int main()

char t[200];

int i,j,k,cpt=0;

printf("Entrer un text : ");

gets(t);
for(i=0;i<strlen(t);i++)

if(t[i]=='e')

j=i;

for(k=j+1;k<=strlen(t);k++)

t[k-1]=t[k];

i--;

for(i=0;i<strlen(t);i++)

printf("%c",t[i]);

printf("\n");

system("pause");

return 0;

Conjugaison de Verbe :

Ecrire un programme qui lit un verbe régulier en "er" au clavier et qui en


affiche la conjugaison au présent de l'indicatif de ce verbe. Contrôlez s'il s'agit
bien d'un verbe en "er" avant de conjuguer. Utiliser les fonctions gets, puts,
strcat et strlen.

Solution :

#include <stdio.h>

#include <stdlib.h>

#include<string.h>

int main()
{

char verbe[20];

printf("Entrez un verbe :");

gets(verbe);

if (verbe[strlen(verbe)-2] != 'e' || verbe[strlen(verbe)-1] != 'r' )

printf("Ce verbe n'est pas un verbe de 1 ere Groupe");

else

verbe[strlen(verbe)-2]='\0';

printf("Je %se\n",verbe);

printf("Tu %ses\n",verbe);

printf("Il %se\n",verbe);

printf("Nous %sons\n",verbe);

printf("Vous %sez\n",verbe);

printf("Ils %sent\n",verbe);

system("pause");

return 0;

Ecrire un programme qui demande l'introduction du nom et du prénom de


l'utilisateur et qui affiche alors la longueur totale du nom sans compter les
espaces. Employer la fonction strlen.

Exemple:

Introduisez votre nom et votre prénom:


Mickey Mouse
Bonjour Mickey Mouse !
Votre nom est composé de 11 lettres.
Solution :

#include<stdio.h>

#include<stdlib.h>

#include<string.h>int main()

char nom[20];

int i,nbr;

printf("Entrez Vitre Nom et Prenom :");

gets(nom);

printf("Bonjour %s !\n",nom);

nbr=0;

for(i=0;i<strlen(nom);i++)

if (nom[i] != ' ')

nbr+=1;

printf("Votre nom est composé de %d lettres.\n",nbr);

system("pause");

return 0;

Majusc -> Min Min->Majus :

Ecrire Un Algorithme Qui permet de convertir une phrase de muniscul en


majuscul et Vice Verca

Solution :
#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#include<ctype.h>

int main()

char phrase[30];

int i;

printf("Entrez une phrase :");

gets(phrase);

for(i=0;i<strlen(phrase);i++)

if (phrase[i]==(toupper(phrase[i])))

phrase[i]=(tolower(phrase[i]));

else

phrase[i]=toupper(phrase[i]);

printf("%s\n",phrase);

system("pause");

return 0;

Fonction Moyenne :
Ecrire un programme se servant d'une fonction MOYENNE du type float pour
afficher la moyenne arithmétique de deux nombres réels entrés au clavier.

Solution :

#include<stdio.h>

#include<stdlib.h>

int main()

double moy (double a,double b);

double a,b;

printf("Entrez la valeur de A :");

scanf("%lf",&a);

printf("Entrez la valeur de B :");

scanf("%lf",&b);

printf("la moyenne de %.3lf et %.3lf est : %.3lf\n",a,b,moy(a,b));

system("pause");

return 0;

double moy (double a,double b)

double m;

m=(a+b)/2;

return m;

Fonction X^n :

Ecrire deux fonctions qui calculent la valeur XN pour une valeur réelle X (type
double) et une valeur entière positive N (type int) :
a) EXP1 retourne la valeur XN comme résultat.

b) EXP2 affecte la valeur XN à X.

Ecrire un programme qui teste les deux fonctions à l'aide de valeurs lues au
clavier.

Solution :

Max – Min :

Ecrire une fonction MIN et une fonction MAX qui déterminent le minimum et le
maximum de deux nombres réels.

Ecrire un programme se servant des fonctions MIN et MAX pour déterminer le


minimum et le maximum de quatre nombres réels entrés au clavier.

Solution :

#include<stdio.h>

#include<stdlib.h>

int main()

double min(double X,double Y);

double max(double X,double Y);

double a,b,c,d;

printf("Entrez le nombre 1 :");

scanf("%lf",&a);

printf("Entrez le nombre 2 :");

scanf("%lf",&b);

printf("Entrez le nombre 3 :");

scanf("%lf",&c);

printf("Entrez le nombre 4 :");

scanf("%lf",&d);

printf("le maximun est : %.3lf \n",max(max(a,b),max(c,d)));


printf("le minumun est : %.3lf \n",min(min(a,b),min(c,d)));

system("pause");

return 0;

double min(double X, double Y)

if (X<Y)

return X;

else

return Y;

double max(double X, double Y)

if (X>Y)

return X;

else

return Y;

}
}

Fonction F(x) :

Ecrire un programme se servant d'une fonction F pour afficher la table de


valeurs de la fonction définie par

f(x) = sin(x) + ln(x) -

où x est un entier compris entre 1 et 10.

Solution :

#include<stdio.h>

#include<stdlib.h>

#include<math.h>

int main()

double f(int X);

int X,i;

for(i=0;i<=10;i++)

printf("X = %d \t\t F(%d)=%.3lf\n",i,i,f(i));

system("pause");

return 0;

double f(int X)

double p;

p=sin(X)+log(X)-sqrt(X);

return p;

}
Nombre des valeur dans un nombre :

Ecrire la fonction NCHIFFRES du type int qui obtient une valeur entière N
(positive ou négative) du type long comme paramètre et qui fournit le nombre
de chiffres de N comme résultat.

Ecrire un petit programme qui teste la fonction NCHIFFRES:

Exemple:

Introduire un nombre entier : 6457392


Le nombre 6457392 a 7 chiffres.

Solution :

#include<stdio.h>

#include<stdlib.h>

int main()

int NCHIFFRES(int N);

int f(int N);

int N;

printf("Entre un nombre :");

scanf("%d",&N);

printf("Le nombre %d a %d chiffres.",N,NCHIFFRES(N));

system("pause");

return 0;

int NCHIFFRES(int N)

int i;

i=1;
while (N>=10)

N/=10;

i++;

return i;

fonction ECRIRE_TAB

Ecrire la fonction ECRIRE_TAB à deux paramètres TAB et N qui affiche N


composantes du tableau TAB du type int.

Exemple:

Le tableau T lu dans l'exemple ci-dessus sera affiché par l'appel :

ECRIRE_TAB(T, N);

et sera présenté comme suit: 43 55 67 79

Solution :

void ECRIRE_TAB(int tab[],int N)

int i;

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

printf("%4d",tab[i]);

fonction SOMME_TAB

Ecrire la fonction SOMME_TAB qui calcule la somme des N éléments d'un


tableau TAB du type int. N et TAB sont fournis comme paramètres; la somme
est retournée comme résultat du type long.
Solution :

int SOMME_TAB(int tab[],int N)

int s;

int i;

s=0;

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

s+=tab[i];

return s;

Programme Principal :(fonction ECRIRE_TAB && fonction SOMME_TAB)

A l'aide des fonctions des exercices précédents, écrire un programme


qui lit un tableau A d'une dimension inférieure ou égale à 100 et affiche
le tableau et la somme des éléments du tableau.

Solution :

#include<stdio.h>

#include<stdlib.h>

int main()

void ECRIRE_TAB(int tab[],int N);

int SOMME_TAB(int tab[],int N);

int tab[20],N;
int i;

printf("Entrez la dimension de tableau :");

scanf("%d",&N);

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

printf("Entrez l'element %d :",i+1);

scanf("%d",&tab[i]);

ECRIRE_TAB(tab,N);

printf("\n");

printf("la somme est : %d\n",SOMME_TAB(tab,N));

system("pause");

return 0;

void ECRIRE_TAB(int tab[],int N)

int i;

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

{
printf("%4d",tab[i]);

int SOMME_TAB(int tab[],int N)

int s;

int i;

s=0;

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

s+=tab[i];

return s;

Fonction Factoriell :

En mathématiques, 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 FACT du type double qui reçoit la valeur N (type int) comme
paramètre et qui fournit la factorielle de N comme résultat. Ecrire un petit
programme qui teste la fonction FACT.

Solution :
#include<stdio.h>

#include<stdlib.h>

int main()

double fat(int N);

int N;

int i;

printf("Entrez la valeur de N :");

scanf("%d",&N);

printf("\n");

printf("la Factorielle de %d est : %.3lf\n",N,fat(N));

system("pause");

return 0;

double fat(int N)

double f=1;

int i;

for(i=1;i<=N;i++)

{
f*=i;

return f;