Exercice 1
#include int main() { /* Déclarations */ char TABCH[5][51];/* tableau de chaînes de caractères */ char AIDE; /* pour la permutation des caractères */ char *P1, *P2; /* pointeurs d'aide */ int I; /* indice courant */ /* TABCH+I est l'adresse de la I-ième chaîne du tableau */ /* Il vaut mieux convertir TABCH+I en pointeur sur char */ /* Saisie des données */ printf("Entrez 5 mots :\n"); for (I=0; I<5; I++) { printf("Mot %d (max.50 caractères) : ", I); scanf("%s", TABCH[I]); } /* Inverser l'ordre des caractères à l'intérieur des mots */ for (I=0; I<5; I++) { P1 = (char *)(TABCH+I); P2=P1; /* Placer P2 à la fin de la chaîne */ while (*P2 != '') P2++; P2--; /* sinon '' est placé au début de la chaîne */ while (P1 < P2) { AIDE = *P1; *P1 = *P2; *P2 = AIDE; P1++; P2--; } } /* Affichage des mots inversés */ for (I=0; I < 5; I++) printf("\n%s", TABCH[I]); return 0; }
Exercice 2
#include 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); return 0; }