#include <stdio.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; } puts(TXT); /* ou printf("%s\n",TXT); */ return 0; }