EXERCICE IX

Chaînes de caractères

  1. Faire la fonction strcmp qui compare lexicographiquement deux chaînes s et t  passées en paramètre et retourne une valeur:

 

int strcmp(char s[],char t[]) - la version qui utilise des tableaux

int strcmp1(char *s,char *t) - la version qui travaille avec des pointeurs

 

#include <stdio.h>

int strcmp(char s[],char t[]);

int strcmp1(char *s,char *t);

void main()

{char s[20],t[20];

 printf("Entrer chaine s.\n");

 gets(s);

 printf("Entrer chaine t.\n");

 gets(t);

 printf("Le resultat de comparaison=%d\n",strcmp(s,t));

 printf("Le resultat de comparaison=%d\n",strcmp1(s,t));

}

int strcmp(char s[],char t[])

{ int i;

  for(i=0;s[i]==t[i];i++)

    if(s[i]=='\0')

      return(0);

  return(s[i]-t[i]);

}

int strcmp1(char *s,char *t)

{ for(;*s==*t;s++,t++)

    if(*s=='\0')

       return(0);

  return(*s-*t);

}

 

 

  1. Faire la fonction strcat qui concatène la chaîne t à la chaîne s. On suppose que s est assez grande (au niveau place mémoire). Un pointeur sur s est retourné. Faire les deux versions: a) void strcat(char *s,char *t); b) char *strcat(char *s,char *t).
  2. Faire la fonction miroir qui copie dans s la chaîne-miroir de t et retourne un pointeur sur s.
  3. Faire un programme qui lit des mots dans un tableau de chaînes de caractères et trie les mots en ordre alphabétique.

 

Page precedente                    Page suivante             Sommaire