Travail à Faire:
Ecrire un programme qui lit deux chaînes de caractères, et qui indique leur précédence lexicographique dans le code de caractères de la machine (ici: code ASCII).
On écrira pour cela la fonction precedence qui récupère les deux chaînes en paramètre et qui retourne 1 si la première chaîne précède la deuxième, 2 si la deuxième précède la première, 0 si elles sont égale.
Prototype :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
#include int precedence(char *,char *) ; main() { /* Déclarations */ char CH1[50], CH2[50]; /* chaînes à comparer */ int r ; /* Saisie des données */ printf("Entrez la première chaîne à comparer : "); gets(CH1); printf("Entrez la deuxième chaîne à comparer : "); gets(CH2); r = precedence (CH1,CH2) ; if(r==0) printf("\"%s\" est égal à \"%s\"\n", CH1, CH2); else if (r == 1) printf("\"%s\" précède \"%s\"\n", CH1, CH2); else printf("\"%s\" précède \"%s\"\n", CH2, CH1); } int precedence (char *CH1,char *CH2) { int I; /* indice courant */ int r ; for (I=0; (CH1[I]==CH2[I]) && CH1[I] && CH2[I]; I++) ; if (CH1[I]==CH2[I]) r = 0 ; else if (CH1[I]<CH2[I]) r = 1 ; else r = 2 ; return r; } |