100% ont trouvé ce document utile (4 votes)
553 vues5 pages

Exercices Corrigés en Langage C

Ce document contient plusieurs exercices de programmation en langage C avec leurs corrigés. Les exercices portent sur des opérations sur des nombres, la manipulation de tableaux, et la résolution d'équations du second degré.

Transféré par

oughriss012353
Copyright
© Attribution Non-Commercial (BY-NC)
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
100% ont trouvé ce document utile (4 votes)
553 vues5 pages

Exercices Corrigés en Langage C

Ce document contient plusieurs exercices de programmation en langage C avec leurs corrigés. Les exercices portent sur des opérations sur des nombres, la manipulation de tableaux, et la résolution d'équations du second degré.

Transféré par

oughriss012353
Copyright
© Attribution Non-Commercial (BY-NC)
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

SERIE N°3 : PROGRAMMATION EN LANGAGE C

Oughriss mohamed

1.1 Exercice 1

Ecrire un programme qui saisit 2 entiers et affiche successivement la somme , la différence, le


produit et le quotient de ces 2 entiers.
Corrigé :
#include<stdio.h>
int main(void)
{

int a,b;
printf("Entrer deux nombres entiers :");
scanf("%d %d",&a,&b);
printf("\nLa somme de %d et %d vaut %d",a,b,a+b);
printf("\nLa difference de %d et %d vaut %d",a,b,a-b);
printf("\nLe produit de %d et %d vaut %d",a,b,a*b);
printf("\nLe quotient de %d et %d vaut f\n",a,b,(float)a/(float)b);

return 0;
}

1.2 Exercice 2

Ecrire un programme qui demande à l’utilisateur de donner le rayon d’un cercle et lui retourne sa
surface et son périmètre.
Corrigé :

#include<stdio.h>
#include<math.h>
#define Pi 4*atan(1)

int main(void)
{
float r;
printf("Entrer le rayon du cercle :");
scanf("%f",&r);
printf("La surface du cercle vaut %f \n",Pi*r*r);
printf("Le perimetre du cercle vaut %f\n",2*Pi*r);
return 0;
}

1.3 Exercice 3

Ecrire un programme qui saisit deux entiers a et b et permute la valeur de ces deux entiers.
Corrigé :

#include<stdio.h>

int main(void)
{
/* il faut utiliser une variable tampon pour l'echange */
int a,b,tampon;
printf("Entrer 2 entiers a et b:");
scanf("%d %d",&a,&b);

tampon=a;
a=b;
b=tampon;
printf("a vaut maintenant %d\n",a);
printf("b vaut maintenant %d\n",b);
return 0;
}

1.5 Exercice 5

Ecrire un programme retournant la factorielle d’un nombre entier entré par l’utilisateur.
Corrigé :

#include<stdio.h>
int main(void)
{
int i,n,res;
res=1;
printf("Entrer un entier :");
scanf("%d",&n);
for(i=n;i>1;i--)
{
res=res*i;
}
printf("%d ! vaut %d\n",n,res);
return 0;
}

1.6 Exercice 6

Ecrire un programme qui résout les équations du second degré (ax2 + bx + c = 0).
Le programme demande a, b et c à l’utilisateur puis indique le nombre de solutions ainsi que
leurs valeurs.
Corrigé :

#include<stdio.h>
#include<math.h>

int main(void)
{
float a,b,c,dis,res1,res2;
printf("Entrer les coefficients a, b et c de l'equation ax2+bx+c : \n");
scanf("%f %f %f",&a,&b,&c);
dis=b*b-4*a*c;
printf("Le discriminant vaut %f \n",dis);
if (dis<0)
{
printf("Discriminant negatif, pas de solutions reelles!\n");
}
else
{
if (dis==0)
{
res1=-b/(2*a);
printf("Le discriminant est nul, il y a donc une seule solution: %f
\n",res1);
}
else
{
res1=(-b-sqrt(dis))/(2*a);
res2=(-b+sqrt(dis))/(2*a);
printf("Le discriminant est positif, il y a donc deux solutions: %f et %f
\n",res1,res2);
}
}

return 0;
}

LES TABLEAUX :

2.1 Exercice 1

Ecrire un programme qui initialise un tableau d’entiers de dimension N puis calcule la moyenne 
des éléments du tableau. 

Corrigé : 

#include<stdio.h>
#define N 10
int main(void)
{
int i,tab[N];
float moy;
moy=0;
printf("Entrer les valeurs du tableau \n");

for (i=0;i<N;i++)
{
printf("tab[%d] = ",i);
scanf("%d",&tab[i]);
printf("\n");
moy=moy+tab[i];
}
moy=moy/N;
printf("La moyenne du tableau vaut %f\n",moy);
return 0;
}
 

2.2 Exercice 2

Ecrire un programme qui saisit un entier a et range dans un tableau d’entier les valeurs de ai 
avec i = 0,1,2,..N  avec N la taille du tableau  

Corrigé : 

#include<stdio.h>
#define N 5
int main(void)
{
int i,tab[N],a;
float moy;
moy=0;
printf("Entrer le coefficient a \n");
scanf("%d",&a);
tab[0]=a;
printf("tab[%d] = %d\n",0,tab[0]);
for (i=1;i<N;i++)
{
tab[i] = tab[i-1]*a;
printf("tab[%d] = %d \n",i,tab[i]);
}
return 0;
}

3.4 Exercice 4

Ecrire un programme qui lit successivement

• un nombre (nombre1)
• un opérateur (+,-,*,/)
• un nombre (nombre2)

et qui retourne le résultat de l’opération: nombre1 operateur nombre2, puis propose d’arrêter ou
de refaire le calcul.

Corrigé :

#include <stdio.h>

int main(void)
{
double n1,n2,res;
char op,ch;
do {
printf("Entrer n1: ");
scanf("%lf",&n1);
printf("Entrer op: ");
/* on vide le buffer associé à stdin */
while ( getchar() != '\n');
scanf("%c",&op);
printf("Entrer n2: ");
scanf("%lf",&n2);
if (op=='+')
res=n1+n2;
else if (op=='-')
res=n1-n2;
else if (op=='*')
res=n1*n2;
else if (op=='/')
res=n1/n2;
else
{
printf("l'operateur n'est pas valide\n");
continue;
}

printf("Le resultat de %f %c %f est %f\n",n1,op,n2,res);


printf("\nVoulez-vous recommencez Oui ou Non: ");
fflush(stdin);
scanf("%c",&ch);
printf("\n");
} while(ch!='n');
return 0;
}

2.5 Exercice 5

On considère le tableau T de N réels. Ecrire un programme qui affiche le rang dans le tableau
d’un réel x donné, et ce dans les deux cas suivants:

• on est assuré que le réel x existe dans le tableau,


• il est possible que cet élément n’existe pas.

Corrigé :

#include <stdio.h>
#define dim 10
int main(void)
{
double t[dim] = { 6.,7.,8.,9.,1.,0.,3.,2.,5.,4. };
double ti;
int i;
printf("Entrer un reel: ");
scanf("%lf",&ti);
for (i=0;i<dim;i++)
if (t[i]==ti)
{
printf("le rang de %f dans le tableau est: %d \n",ti,i);
break;
}
if(i==dim) printf("la valeur %f n'existe pas dans le tableau",ti);
printf("\n");
return 0;
}

Vous aimerez peut-être aussi