Riepilogo: funzioni di base per le stringhe
Fa parte della sezione Logica e flusso del percorso C di Coddy. Lezione 19 di 63.
Sfida
FacileScrivi un programma in C che elabori coppie di parole e dimostri tutte le funzioni essenziali per le stringhe che hai imparato. Il tuo programma dovrà:
- Leggere un intero
nche rappresenta il numero di coppie di parole da elaborare - Per ogni coppia di parole:
- Leggere la prima parola dall'input
- Leggere la seconda parola dall'input
- Usare
strlen()per calcolare e stampare la lunghezza di ogni parola - Usare
strcmp()per confrontare le due parole e stampare se sono identiche o diverse - Creare una stringa combinata concatenando la prima parola, uno spazio e la seconda parola usando
strcpy()estrcat() - Stampare la stringa combinata
- Dopo aver elaborato tutte le coppie, trovare e stampare la coppia che ha creato la stringa combinata più lunga
Ricorda di includere l'header <string.h> per usare le funzioni per le stringhe.
L'output dovrà mostrare i risultati nel seguente formato:
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]Ad esempio, se l'input è:
3
hello
world
test
test
programming
languageL'output dovrà essere:
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 languageQuesta sfida verifica la tua comprensione di come combinare strlen() per calcolare la lunghezza, strcmp() per confrontare stringhe e strcpy() con strcat() per concatenare stringhe in un programma completo che elabora più coppie di stringhe.
Provalo tu
#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: Scrivi il tuo codice qui
// Elabora ogni coppia di parole e trova la stringa combinata più lunga
return 0;
}Tutte le lezioni di Logica e flusso
1Fondamenti dei puntatori
Che cos’è un puntatore?Dichiarare i puntatoriL’operatore di indirizzo (&)L’operatore di dereferenziazione (*)Puntatori NULLRiepilogo: nozioni di base sui puntatori4Progetto: Utility di testo semplice
Panoramica del progettoConteggio dei caratteri2Puntatori e array
I nomi degli array come puntatoriElementi degli array e puntatoriAritmetica dei puntatoriConfrontare i puntatoriRiepilogo: attraversamento di un array con i puntatori5Puntatori e funzioni
Passaggio per valorePassare puntatori alle funzioniModificare le variabili tramite puntatoriUn esempio classico: scambiare valoriPassare array alle funzioniRiepilogo: argomenti puntatore nelle funzioni3Array di caratteri e stringhe
Stringhe come array di charIl terminatore nullInput di stringhe con scanfUso di strlen()Uso di strcpy()Uso di strcat()Uso di strcmp()Riepilogo: funzioni di base per le stringhe6Gestione della memoria
Memoria Stack vs. HeapAllocazione dinamica - malloc()Usare sizeof() per l'allocazioneVerificare il fallimento dell'allocazioneLiberare la memoria con free()Allocare con calloc()Riepilogo: array dinamico9Progetto: Inserimento semplice di un contatto
Progetto: Definire una struct ContattoFunzione per creare un contattoEsercitati da solo: Compilatore C online