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.
Wyzwanie
ŁatwyNapisz 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:
- Wczytać liczbę całkowitą
nreprezentującą liczbę par słów do przetworzenia - 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()istrcat() - Wyświetlić połączony ciąg znaków
- 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
languageWynik 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 languageTo 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
1Podstawy wskaźników
Czym jest wskaźnik?Deklarowanie wskaźnikówOperator pobrania adresu (&)Operator dereferencji (*)Wskaźniki NULLPodsumowanie: podstawy wskaźników4Projekt: Proste narzędzie tekstowe
Przegląd projektuLiczenie znaków2Wskaźniki i tablice
Nazwy tablic jako wskaźnikiElementy tablic — wskaźnikiArytmetyka wskaźnikówPorównywanie wskaźnikówPodsumowanie: przechodzenie po tablicy za pomocą wskaźników5Wskaźniki i funkcje
Przekazywanie przez wartośćPrzekazywanie wskaźników do funkcjiModyfikowanie zmiennych za pomocą wskaźnikówKlasyczny przykład: zamianaPrzekazywanie tablic do funkcjiPowtórka: argumenty wskaźnikowe funkcji8Struktury i wskaźniki
Wskaźniki do strukturOperator strzałki (->)Przekazywanie struktur przez wartośćPrzekazywanie wskaźników do strukturDynamiczna alokacja strukturPodsumowanie: modyfikowanie struktury — wskaźnik11Końcowe zadania powtórkowe
Powtórka: dynamiczne łączenie ciągów znakówPowtórka: tablica strukturPowtórka: licznik częstotliwości słów3Tablice znaków i ciągi znaków
Ciągi znaków jako tablice charZnak końca ciąguWczytywanie ciągu za pomocą scanfUżywanie strlen()Używanie strcpy()Używanie strcat()Używanie strcmp()Podsumowanie: podstawowe funkcje do obsługi ciągów znakówPoćwicz samodzielnie: Kompilator C online