Vous êtes sur la page 1sur 5

SERIE N3 : PROGRAMMATION EN LANGAGE C

Oughriss mohamed

1.1 Exercice 1
Ecrire un programme qui saisit 2 entiers et affiche successivement la somme , la diffrence, 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 lutilisateur de donner le rayon dun cercle et lui retourne sa
surface et son primtre.
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 dun nombre entier entr par lutilisateur.
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 rsout les quations du second degr (ax2 + bx + c = 0).
Le programme demande a, b et c lutilisateur 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
EcrireunprogrammequiinitialiseuntableaudentiersdedimensionNpuiscalculelamoyenne
deslmentsdutableau.
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
Ecrireunprogrammequisaisitunentieraetrangedansuntableaudentierlesvaleursdeai
aveci=0,1,2,..NavecNlatailledutableau
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 oprateur (+,-,*,/)
un nombre (nombre2)

et qui retourne le rsultat de lopration: nombre1 operateur nombre2, puis propose darrter 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 considre le tableau T de N rels. Ecrire un programme qui affiche le rang dans le tableau
dun rel x donn, et ce dans les deux cas suivants:

on est assur que le rel x existe dans le tableau,


il est possible que cet lment nexiste 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