Précédence de deux chaines
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 elle sont égale.
Prototype : int precedence(char *,char *)
Code:
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 35 36 37 38 39 40 41 42 43 44 45 46 47
| #include<stdio.h>
#include<stdlib.h>
int precedence(char*chaine1 , char*chaine2)
{
int i = ;
int r ;
for(i = 0 ;(chaine1[i] == chaine2[i]) && chaine1[i],chaine2[i]; i++)
{
if (chaine1[i] < chaine2[i])
{
return 1;
}
else if(chaine1[i] >chaine2[i])
{
return 2;
}
else return 0 ;
}
return r ;
}
int main ()
{
int chaine1[] = " ";
int chaine2[] = " ";
int r ;
printf("entrer la premiere chaine \n");
scanf("%s",chaine1);
printf("entrer la deusieme chaine \n");
scanf("%s",chaine2);
r= precedence(chaine1, chaine2);
if ( r == 1)
{
printf("la chaine1 precede la chaine2");
}
else if(r == 2)
{
printf("la chaine1 precede la chaine2");
}
else printf("la chaine1 est egale a la chaine2");
return 0 ;
} |