0% ont trouvé ce document utile (0 vote)
37 vues3 pages

Solutions TP C : Exercices et Codes

Transféré par

Oussama Elkaissi
Copyright
© © All Rights Reserved
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
0% ont trouvé ce document utile (0 vote)
37 vues3 pages

Solutions TP C : Exercices et Codes

Transféré par

Oussama Elkaissi
Copyright
© © All Rights Reserved
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

Solution TP 7

Exercice 1
#include <stdio.h>
#include <conio.h>
main()
{
char M1[30], M2[30], M3[30], M4[30], M5[30];
printf("Entrez 5 mots, séparés par des espaces :\n");
scanf ("%s %s %s %s %s", M1, M2, M3, M4, M5);
printf("%s %s %s %s %s\n",M5, M4, M3, M2, M1);
getch();
}

Exercice 2
#include <stdio.h>
#include <conio.h>
main()
{
/* Déclarations */
char TXT[201]; /* chaîne donnée */
int I,J; /* indices courants */
int L; /* longueur de la chaîne */
int C; /* compteur des lettres 'e' */
int AIDE; /* pour l'échange des caractères */
/* Saisie des données */
printf("Entrez une ligne de texte (max.200 caractères) :\n");
gets(TXT); /* L'utilisation de scanf est impossible pour */
/* lire une phrase contenant un nombre variable de mots. */

/* a) Compter les caractères */


/* La marque de fin de chaîne '\0' est utilisée comme condition d'arrêt. */
for (L=0; TXT[L]; L++) ;
printf("Le texte est composé de %d caractères.\n",L);

/* b) Compter les lettres 'e' dans le texte */


C=0;
for (I=0; TXT[I]; I++)
if (TXT[I]=='e') C++;
printf("Le texte contient %d lettres \'e\'.\n",C);

/* c) Afficher la phrase à l'envers */


for (I=L-1; I>=0; I--)
putchar(TXT[I]); /* ou printf("%c",TXT[I]); */
putchar('\n'); /* ou printf("\n"); */

/* d) Inverser l'ordre des caractères */


for (I=0,J=L-1 ; I<J ; I++,J--)
{
AIDE=TXT[I];
TXT[I]=TXT[J];
TXT[J]=AIDE;

exosup.com page facebook


}
puts(TXT); /* ou printf("%s\n",TXT); */
getch();
}

Exercice 3

strlen(<s>) fournit la longueur de la chaîne sans compter le '\0' final


strcpy(<s>, <t>) copie <t> vers <s>
strcat(<s>, <t>) ajoute <t> à la fin de <s>
strcmp(<s>, <t>) compare <s> et <t> lexico-graphiquement et fournit un résultat:
négatif si <s> précède <t>
zéro si <s> est égal à<t>
positif si <s> suit <t>
strncpy(<s>, <t>,<n>) copie au plus <n> caractères de <t> vers <s>
strncat(<s>, <t>, <n>) ajoute au plus <n> caractères de <t> à la fin de <s>
___________----------------------------------------___________

#include <stdio.h>
#include <string.h>
#include <conio.h>
main()
{
/* Déclarations */
char VERB[20]; /* chaîne contenant le verbe */
char AFFI[30]; /* chaîne pour l'affichage */
int L; /* longueur de la chaîne */
/* Saisie des données */
printf("Donnez un Verbe : ");
gets(VERB);
/* Contrôler s'il s'agit d'un verbe en 'er' */
L=strlen(VERB);
if ((VERB[L-2]!='e') || (VERB[L-1]!='r'))
puts("\a Ce n'est pas un verbe du premier groupe.!");
else
{
/* Couper la terminaison 'er'. */
VERB[L-2]='\0';
/* Conjuguer ... */
AFFI[0]='\0';
strcat(AFFI, "je ");
strcat(AFFI, VERB);
strcat(AFFI, "e");
puts(AFFI);

AFFI[0]='\0';
strcat(AFFI, "tu ");
strcat(AFFI, VERB);
strcat(AFFI, "es");
puts(AFFI);

AFFI[0]='\0';
strcat(AFFI, "il ");
strcat(AFFI, VERB);
strcat(AFFI, "e");
puts(AFFI);

exosup.com page facebook


AFFI[0]='\0';
strcat(AFFI, "nous ");
strcat(AFFI, VERB);
strcat(AFFI, "ons");
puts(AFFI);

AFFI[0]='\0';
strcat(AFFI, "vous");
strcat(AFFI, VERB);
strcat(AFFI, "ez");
puts(AFFI);

AFFI[0]='\0';
strcat(AFFI, "ils ");
strcat(AFFI, VERB);
strcat(AFFI, "ent");
puts(AFFI);
}
getch();
}

Exercice 4
#include <stdio.h>
#include<conio.h>
#include <string.h>
main()
{
/* Déclarations */
int N; /* nombre entré */
char JOUR[8][10] = {"\a Erreur!", "lundi", "mardi", "mercredi", "jeudi", "vendredi",
"samedi","dimanche"};
/* Saisie du nombre */
printf("Entrez un nombre entre 1 et 7 : ");
scanf("%d", &N);

/* Affichage du résultat - pour perfectionnistes */


if (N>0 && N<8)
printf("Le %d%s jour de la semaine est %s. \n", N, (N==1)?"er":"eme", JOUR[N]);
else
puts(JOUR[0]);
getch();
}

exosup.com page facebook

Vous aimerez peut-être aussi