exerccie language c

64
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; }

Upload: anouar-ouzzane

Post on 24-Jun-2015

819 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Exerccie Language C

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;

}

Page 2: Exerccie Language C

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;

}

Page 3: Exerccie Language C

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;

}

Page 4: Exerccie Language C

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;

Page 5: Exerccie Language C

}

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");

}

Page 6: Exerccie Language C

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);

Page 7: Exerccie Language C

}

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");

Page 8: Exerccie Language C

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);

Page 9: Exerccie Language C

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;

}

Page 10: Exerccie Language C

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;

}

Page 11: Exerccie Language C

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;

Page 12: Exerccie Language C

}

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)

{

Page 13: Exerccie Language C

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[])

Page 14: Exerccie Language C

{

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);

Page 15: Exerccie Language C

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");

}

Page 16: Exerccie Language C

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)

Page 17: Exerccie Language C

{

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>

Page 18: Exerccie Language C

#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)

Page 19: Exerccie Language C

{

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;

Page 20: Exerccie Language C

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;

Page 21: Exerccie Language C

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()

{

Page 22: Exerccie Language C

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;

}

Page 23: Exerccie Language C

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]);

}

Page 24: Exerccie Language C

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];

Page 25: Exerccie Language C

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++)

{

Page 26: Exerccie Language C

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;

Page 27: Exerccie Language C

}

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;

}

}

}

Page 28: Exerccie Language C

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++)

Page 29: Exerccie Language C

{

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");

}

Page 30: Exerccie Language C

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 */

Page 31: Exerccie Language C

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");

Page 32: Exerccie Language C

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++)

Page 33: Exerccie Language C

{

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++)

{

Page 34: Exerccie Language C

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 */

Page 35: Exerccie Language C

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");

}

Page 36: Exerccie Language C

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.

Page 37: Exerccie Language C

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++)

{

Page 38: Exerccie Language C

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;

Page 39: Exerccie Language C

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>

Page 40: Exerccie Language C

#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;

Page 41: Exerccie Language C

}

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--)

{

Page 42: Exerccie Language C

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];

Page 43: Exerccie Language C

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");

Page 44: Exerccie Language C

}

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];

Page 45: Exerccie Language C

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()

{

Page 46: Exerccie Language C

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()

Page 47: Exerccie Language C

{

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 :

Page 48: Exerccie Language C

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)

Page 49: Exerccie Language C

{

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.

Page 50: Exerccie Language C

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

Page 51: Exerccie Language C

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++;

}

Page 52: Exerccie Language C

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;

Page 53: Exerccie Language C

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);

Page 54: Exerccie Language C

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)

Page 55: Exerccie Language C

{

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()

{

Page 56: Exerccie Language C

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;

}

Page 57: Exerccie Language C