Exercice 1
#include <stdio.h> #include <string.h> main() { /* Déclarations */ char MOT[10][50]; /* tableau de 10 mots à trier */ char AIDE[50]; /* chaîne d'aide pour la permutation */ int I; /* rang à partir duquel MOT n'est pas trié */ int J; /* indice courant */ int PMOT; /* indique la position du prochain mot */ /* dans la suite lexicographique. */ /* Saisie des données */ for (J=0; J<10; J++) { printf("Mot %d : ", J); gets(MOT[J]); /* ou : scanf ("%s\n", MOT[J]); */ } /* Tri du tableau par sélection directe du */ /* prochain mot dans la suite lexicographique. */ for (I=0; I<9; I++) { /* Recherche du prochain mot à droite de A[I] */ PMOT=I; for (J=I+1; J<10; J++) if (strcmp(MOT[J], MOT[PMOT]) < 0) PMOT=J; /* Echange des mots à l'aide de strcpy */ strcpy(AIDE, MOT[I]); strcpy(MOT[I], MOT[PMOT]); strcpy(MOT[PMOT], AIDE); } /* Edition du résultat */ printf("Tableau trié lexicographiquement :\n"); for (J=0; J<10; J++) puts(MOT[J]); /* ou : printf("%s\n",MOT[J]); */ printf("\n"); return 0; }
Exercice 2
#include <stdio.h> main() { /* Déclarations */ int N; /* nombre entré */ char JOUR[8][9] = {"\aErreur!", "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 %de%c jour de la semaine est %s.\n", N, (N==1)?'r':' ', JOUR[N]); else puts(JOUR[0]); return 0; }
Exercice 3
#include <stdio.h> main() { /* Déclarations */ char MOT[5][50]; /* tableau pour les 5 mots */ int I; /* indice courant */ /* Saisie des mots */ printf("Entrez 5 mots, séparés par des espaces :\n"); /* Après le retour à la ligne, scanf lit */ /* les 5 données à la fois. */ for (I=0; I<5; I++) scanf("%s", MOT[I]); /* Affichage du résultat */ for (I=4; I>=0; I--) printf("%s ", MOT[I]); printf("\n"); return 0; }
Exercice 4
#include <stdio.h> #include <string.h> main() { /* Déclarations */ /* Sujets et terminaisons */ char SUJ[6][5] = {"je","tu","il","nous","vous","ils"}; char TERM[6][5] = {"e","es","e","ons","ez","ent"}; char VERB[20]; /* chaîne contenant le verbe */ int L; /* longueur de la chaîne */ int I; /* indice courant */ /* Saisie des données */ printf("Verbe : "); scanf("%s", VERB); /* Contrôler s'il s'agit d'un verbe en 'er' */ L=strlen(VERB); if ((VERB[L-2] != 'e') || (VERB[L-1] != 'r')) printf("\"%s\" n'est pas un verbe du premier groupe.\n",VERB); else { /* Couper la terminaison 'er'. */ VERB[L-2]=''; /* Conjuguer ... */ for (I=0; I<6; I++) printf("%s %s%s\n",SUJ[I], VERB, TERM[I]); } return 0; }
Pages: 1 2