Récapitulatif : Fonctions de base sur les chaînes
Fait partie de la section Logic & Flow du Journey C de Coddy — leçon 19 sur 63.
Défi
FacileÉcrivez un programme C qui traite des paires de mots et démontre toutes les fonctions de chaîne essentielles que vous avez apprises. Votre programme doit :
- Lire un entier
nreprésentant le nombre de paires de mots à traiter - Pour chaque paire de mots :
- Lire le premier mot depuis l'entrée
- Lire le second mot depuis l'entrée
- Utiliser
strlen()pour calculer et afficher la longueur de chaque mot - Utiliser
strcmp()pour comparer les deux mots et afficher s'ils sont identiques ou différents - Créer une chaîne combinée en concaténant le premier mot, un espace, et le second mot en utilisant
strcpy()etstrcat() - Afficher la chaîne combinée
- Après avoir traité toutes les paires, trouver et afficher la paire qui a créé la chaîne combinée la plus longue
N'oubliez pas d'inclure l'en-tête <string.h> pour utiliser les fonctions de chaîne.
Votre sortie doit afficher les résultats au format suivant :
Word 1: [word1] (Length: [length1])
Word 2: [word2] (Length: [length2])
Comparison: [identical/different]
Combined: [word1 word2]
Word 1: [word1] (Length: [length1])
Word 2: [word2] (Length: [length2])
Comparison: [identical/different]
Combined: [word1 word2]
...
Longest combined string: [longest_combined_string]Par exemple, si l'entrée est :
3
hello
world
test
test
programming
languageVotre sortie doit être :
Word 1: hello (Length: 5)
Word 2: world (Length: 5)
Comparison: different
Combined: hello world
Word 1: test (Length: 4)
Word 2: test (Length: 4)
Comparison: identical
Combined: test test
Word 1: programming (Length: 11)
Word 2: language (Length: 8)
Comparison: different
Combined: programming language
Longest combined string: programming languageCe défi teste votre compréhension de la combinaison de strlen() pour le calcul de la longueur, strcmp() pour la comparaison de chaînes, et strcpy() avec strcat() pour la concaténation de chaînes dans un programme complet qui traite plusieurs paires de chaînes.
Essayez vous-même
#include <stdio.h>
#include <string.h>
int main() {
int n;
scanf("%d", &n);
char word1[100], word2[100];
char combined[200];
char longest_combined[200] = "";
// TODO: Écrivez votre code ici
// Traiter chaque paire de mots et trouver la chaîne combinée la plus longue
return 0;
}Toutes les leçons de Logic & Flow
1Les bases des pointeurs
Qu'est-ce qu'un pointeur ?Déclaration de pointeursL'opérateur d'adresse (&)L'opérateur de déréférencement (*)Pointeurs NULLRécapitulatif : Les bases des pointeurs4Projet : Utilitaire de texte simple
Présentation du projetCompter les caractères2Pointeurs et Tableaux
Noms de tableaux comme pointeursÉléments de tableau - PointeursArithmétique des pointeursComparaison de pointeursRécapitulatif : Parcours de tableau par pointeur5Pointeurs et fonctions
Passage par valeurPassage de pointeurs aux fonctionsModifier des variables via des pointeursUn exemple classique : SwapPassage de tableaux aux fonctionsRécapitulatif : Pointeurs comme arguments de fonction3Tableaux de caractères et chaînes
Les chaînes comme tableaux de charLe terminateur nulSaisie de chaînes avec scanfUtilisation de strlen()Utilisation de strcpy()Utilisation de strcat()Utilisation de strcmp()Récapitulatif : Fonctions de base sur les chaînes