Exercices + solutions en langage C Serie 2

Exercice 1 :

Soit T un tableau dont les composantes sont d’un type simple fixé. Soit X une variable de
même type que les composantes de T. Donnez un programme qui affiche présent ou absent
selon que la valeur de X est égal ou non à celle d’une composante de T, et si oui, la première
position où cette valeur est localisée dans T.


Exercice 2 :

1) Faire une fonction Min qui détermine le minimum de deux entiers.
2) Faire une fonction Max qui détermine le maximum de deux entiers.
3) Faire une fonction MinMax qui appelle les fonctions Min et Max pour déterminer le
minimum et le maximum de deux entiers.
4) Faire le programme principal qui lit deux entiers, appelle MinMax et affiche les résultats.


Exercice 3:

Ecrire un programme qui lit un verbe du premier groupe et qui en affiche la conjugaison au
présent de l'indicatif, sous la forme :
je chante
tu chantes
il chante
nous chantons
vous chantez
ils chantent
Le programme devra vérifier que le mot fourni se termine bien par "er". On supposera qu'il ne
peut comporter plus de 30 lettres et qu'il s'agit d'un verbe régulier. Autrement dit, on admettra
que l'utilisateur ne fournira pas un verbe tel que "manger" (le programme afficherait alors :
"nous mangeons" !).


Correction

Exercice 1 :

#include<stdio.h>
#include<stdlib.h>
int main(int argc, char *argv[])
{ int T[100]; /* Un tableau de 100 éléments */
int N; /* la dimension du tableau*/
int i; /*l'indice courant*/
int X; /* la valeur cherchée*/
int pos; /* variable pour trouvé la position de la valeur*/
int ok; //*variable de test*/
printf("Introduire le nombre des notes max=100:\n");
scanf("%d",&N);
/* La saisie des éléments du tableau*/
for(i=0;i<N;i++)
{
printf("L'élément T[%d]:",i);
scanf("%d",&T[i]);
}
/* La saisie de la valeur cherchée*/
printf("Introduire la valeur cherchée:\n");
scanf("%d",&X);
/* Cherche de la valeur*/
ok=0;
pos=0;
for(i=0;i<N;i++)
{if (T[i]==X){
ok=1;
pos=i;break;
}}
/* L'affichage des résultats */
if (ok==1)
printf("L'élément %d est présent et sa première position dans
le tableau est %d \n",X,pos);
else
printf(" Absent");
system("PAUSE");
return 0;
}


Exercice 2 :

#include<stdio.h>
#include<stdlib.h>
int Min(int A, int B) /* Définition de la fonction Min*/
{
if (A<B)
return A;
else return B;
}
int Max(int A, int B) /* Définition de la fonction Max*/
{
if (A>B)
return A;
else return B;
}
void MinMax(int X, int Y) /* La fonction MinMax*/
{
int Inf, Sup;
Inf=Min(X,Y);
Sup=Max(X,Y);
printf("Le minimum est :%d\n",Inf);
printf("Le maximum est :%d",Sup);
}
int main(int argc, char *argv[])/* Le programme principale*/
{ int U,V;
printf("Introduire les valeurs :");
scanf("%d %d",&U,&V);
MinMax(U,V);
system("PAUSE");
return 0;
}


Exercice 3:

#include<stdio.h>
#include<stdlib.h>
#define LGMAX 30
int main(int argc, char *argv[])
{
char verbe [LGMAX+1] ;
char * adfin ;
char * term[6] = {"e", "es", "e", "ons", "ez", "ent" } ;
char * deb[6] = {"je", "tu", "il", "nous", "vous", "ils"} ;
int i ;
do
{ printf ("donnez un verbe du premier groupe : ") ;
gets (verbe) ;
adfin = verbe + strlen(verbe) - 2 ;
}while (strcmp (adfin, "er")) ;
printf ("\nIndicatif présent :\n") ;
for (i=0 ; i<6 ; i++)
{ strcpy (adfin, term[i]) ;
printf ("%s %s\n", deb[i], verbe) ;
}
system("PAUSE");
return 0;
}


Aucun commentaire:

Enregistrer un commentaire