Menu
Coddy logo textTech

Podsumowanie: podstawowe funkcje do obsługi ciągów znaków

Część sekcji Logika i sterowanie przepływem ścieżki C w Coddy. Lekcja 19 z 63.

challenge icon

Wyzwanie

Łatwy

Napisz program w C, który przetwarza pary słów i demonstruje wszystkie podstawowe funkcje obsługi ciągów znaków, których się nauczyłeś. Twój program powinien:

  1. Wczytać liczbę całkowitą n reprezentującą liczbę par słów do przetworzenia
  2. Dla każdej pary słów:
    • Wczytać pierwsze słowo z wejścia
    • Wczytać drugie słowo z wejścia
    • Użyć strlen(), aby obliczyć i wyświetlić długość każdego słowa
    • Użyć strcmp(), aby porównać oba słowa i wyświetlić, czy są identyczne, czy różne
    • Utworzyć połączony ciąg znaków, łącząc pierwsze słowo, spację i drugie słowo za pomocą strcpy() i strcat()
    • Wyświetlić połączony ciąg znaków
  3. Po przetworzeniu wszystkich par znaleźć i wyświetlić parę, która utworzyła najdłuższy połączony ciąg znaków

Pamiętaj, aby dołączyć nagłówek <string.h>, żeby móc używać funkcji obsługujących ciągi znaków.

Wynik powinien wyświetlać rezultaty w następującym formacie:

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]

Na przykład, jeśli dane wejściowe to:

3
hello
world
test
test
programming
language

Wynik powinien być następujący:

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 language

To wyzwanie sprawdza, czy rozumiesz, jak łączyć strlen() do obliczania długości, strcmp() do porównywania ciągów znaków oraz strcpy() i strcat() do łączenia ciągów znaków w kompleksowym programie, który przetwarza wiele par ciągów znaków.

Spróbuj swoich sił

#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: Napisz tutaj swój kod
    // Przetwórz każdą parę słów i znajdź najdłuższy ciąg powstały z ich połączenia
    
    return 0;
}

Wszystkie lekcje w sekcji Logika i sterowanie przepływem

Poćwicz samodzielnie: Kompilator C online