Langage C

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 5

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

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy