Langage
C - Travaux Dirigés n° 6
Exercice n° 1 (Échange de deux caractères)
Écrire une fonction swapchar qui échange les contenus de deux variables de type char.
Exercice n° 2 (Tri d'une chaîne)
Écrire une fonction strsort qui trie par ordre alphabétique les caractères d'une chaîne. Écrire
une première version avec des indices entiers puis écrire une nouvelle version
qui utilise des pointeurs.
Exercice n° 3 (Comparaison de chaînes)
Réécrire la fonction strcomp en utilisant des pointeurs pour parcourir les chaînes au lieu
d'entiers pour indexer les caractères.
Exercice n° 4 (Argument de la ligne de
commande)
Le prototype de la fonction main est
int main(int argc, char* argv[])
{
...
}
Le premier paramètre argc est un entier qui
donne le nombre de chaînes passées en argument à la commande. Le deuxième
paramètre argv est un tableau de pointeur dont la taille est
donnée par argc. Chacun des éléments argv[i] du tableau argv contient l'adresse
d'une des chaînes de caractères. Écrire un programme qui se contente d'afficher
ligne par ligne chacun des arguments.
Exercice n° 5 (Tri lexicographique de
chaînes)
Écrire une fonction arraysort qui trie par ordre lexicographique un tableau de chaînes de
caractères. Il est possible d'utiliser la fonction strcmp de la librairie stdio.h ou la fonction strcomp écrite à la séance précédente.
Modifier le programme de l'exercice précédent pour qu'il trie les chaînes
passées en argument avant de les afficher.
Exercice n° 6
Qu'affiche le programme suivant :
#include
int main(void)
{
const int n = 10;
int T[n];
int i,j;
for (i = 0; i < n; i++)
T[i] = 0;
T[1] = T[2] = 1;
for (j = 0; j < 3; j++)
for (i = 1; i < n; i++)
T[i] = T[i] + T[i-1];
for (i = 0; i < n; i++)
printf("%d ", T[i]);
return 0;
}

Enregistrer un commentaire