Menu
Coddy logo textTech

Wynik końcowy

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

challenge icon

Wyzwanie

Łatwy

Uzupełnij swój program do przetwarzania tekstu, integrując wszystkie funkcje opracowane w poprzednich lekcjach w jednym, kompleksowym wyniku. Twój program powinien:

  1. Poprosić użytkownika o wpisanie krótkiego zdania, wyświetlając: Enter a sentence: (bez znaku nowej linii na końcu: użyj printf("Enter a sentence: "), a nie printf("Enter a sentence: \n"))
  2. Zadeklarować tablicę znaków o nazwie sentence z 200 elementami, aby przechowywać dane wejściowe
  3. Użyć scanf ze specyfikatorem formatu %s, aby odczytać od użytkownika pojedyncze słowo
  4. Zapisać oryginalne słowo w osobnej tablicy znaków do wyświetlenia
  5. Obliczyć łączną liczbę znaków za pomocą strlen()
  6. Policzyć samogłoski, iterując po każdym znaku i sprawdzając, czy jest on jedną z samogłosek (a, e, i, o, u) zapisanych małą lub wielką literą
  7. Przekształcić słowo na wielkie litery za pomocą funkcji toupper() w pętli
  8. Wyświetlić wszystkie wyniki w przejrzystym, uporządkowanym formacie, umieszczając każdą informację w osobnym wierszu

Pamiętaj, aby dołączyć nagłówek <string.h> dla funkcji obsługujących ciągi znaków oraz nagłówek <ctype.h> dla funkcji konwersji znaków.

Wynik powinien wyświetlać wszystkie informacje w dokładnie następującym formacie:

Enter a sentence: Original: [word]
Characters: [count]
Vowels: [count]
Uppercase: [WORD]

Ważne: Po znaku zachęty Enter a sentence: nie może występować znak nowej linii. Słowo Original: pojawia się w tym samym wierszu bezpośrednio po wczytaniu danych.

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

Hello

Wynik powinien wyglądać tak:

Enter a sentence: Original: Hello
Characters: 5
Vowels: 2
Uppercase: HELLO

To końcowe wyzwanie łączy wszystkie opracowane w trakcie projektu funkcje przetwarzania tekstu: obsługę danych wejściowych, zliczanie znaków za pomocą strlen(), zliczanie samogłosek przy użyciu pętli i instrukcji warunkowych oraz konwersję na wielkie litery za pomocą toupper(). Program powinien prezentować przejrzyste, uporządkowane podsumowanie wyników analizy tekstu.

Spróbuj swoich sił

#include <stdio.h>
#include <string.h>
#include <ctype.h>

int main() {
    char sentence[200];
    
    printf("Enter a sentence: ");
    scanf("%s", sentence);
    
    printf("You entered: %s\n", sentence);
    
    int length = strlen(sentence);
    printf("Character count: %d\n", length);
    printf("Length: %d\n", length);
    
    int vowel_count = 0;
    for (int i = 0; i < length; i++) {
        char c = sentence[i];
        if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u' ||
            c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U') {
            vowel_count++;
        }
    }
    printf("Vowel count: %d\n", vowel_count);
    
    printf("Uppercase: ");
    for (int i = 0; i < length; i++) {
        printf("%c", toupper(sentence[i]));
    }
    printf("\n");
    
    return 0;
}

Wszystkie lekcje w sekcji Logika i sterowanie przepływem

Poćwicz samodzielnie: Kompilator C online