Konwersja na wielkie litery
Część sekcji Logika i sterowanie przepływem ścieżki C w Coddy. Lekcja 23 z 63.
Wyzwanie
ŁatwyRozszerz swój program do obsługi tekstu z poprzedniej lekcji, dodając funkcję konwersji na wielkie litery. Twój program powinien:
- Poprosić użytkownika o wpisanie krótkiego zdania, wyświetlając:
Enter a sentence:(bez znaku nowej linii na końcu) - Zadeklarować tablicę znaków o nazwie
sentencez 200 elementami do przechowywania danych wejściowych - Użyć
scanfze specyfikatorem formatu%s, aby odczytać od użytkownika jedno słowo - Wyświetlić zapisane słowo w formacie:
You entered: [word] - Użyć
strlen(), aby obliczyć łączną liczbę znaków w słowie - Wyświetlić liczbę znaków w formacie:
Character count: [count] - Wyświetlić długość za pomocą
strlen()w formacie:Length: [length] - Przejść przez każdy znak w słowie za pomocą pętli, aby policzyć samogłoski
- Dla każdego znaku sprawdzić, czy jest samogłoską (a, e, i, o, u) zapisaną małą lub wielką literą
- Prowadzić bieżący licznik znalezionych samogłosek
- Wyświetlić liczbę samogłosek w formacie:
Vowel count: [count] - Wyświetlić
Uppercase:, a następnie użyć pętli do konwersji każdego znaku w słowie na wielką literę i wyświetlenia go za pomocą funkcjitoupper()
Pamiętaj, aby dołączyć nagłówek <string.h>, żeby użyć funkcji strlen(), oraz nagłówek <ctype.h>, żeby użyć funkcji toupper().
Informacje o toupper():
Funkcja toupper() z <ctype.h> konwertuje pojedynczy znak na jego odpowiednik zapisany wielką literą. Jeśli znak jest już wielką literą lub nie jest literą, zostaje zwrócony bez zmian.
Przykład: toupper('a') zwraca 'A', a toupper('Z') zwraca 'Z'.
Możesz użyć jej w pętli, aby konwertować każdy znak po kolei: printf("%c", toupper(sentence[i]));
Ważne: Po komunikacie Enter a sentence: nie powinien występować znak nowej linii. Użyj printf("Enter a sentence: "); bez \n.
Twój wynik powinien wyświetlać rezultaty w następującym formacie:
Enter a sentence: You entered: [word]
Character count: [count]
Length: [length]
Vowel count: [count]
Uppercase: [WORD]Na przykład, jeśli dane wejściowe to:
ProgrammingTwój wynik powinien być następujący:
Enter a sentence: You entered: Programming
Character count: 11
Length: 11
Vowel count: 3
Uppercase: PROGRAMMINGTo wyzwanie rozwija zagadnienia z poprzedniej lekcji, dodając funkcję konwersji na wielkie litery za pomocą funkcji toupper() z biblioteki <ctype.h>. Musisz użyć pętli, aby przejść przez każdy znak w ciągu znaków i przekonwertować go na wielką literę, a następnie wyświetlić przekształcony wynik.
Spróbuj swoich sił
#include <stdio.h>
#include <string.h>
int main() {
printf("Enter a sentence: \n");
char sentence[200];
scanf("%s", sentence);
printf("You entered: %s\n", sentence);
int char_count = strlen(sentence);
printf("Character count: %d\n", char_count);
int length = strlen(sentence);
printf("Length: %d\n", length);
int vowel_count = 0;
for (int i = 0; i < strlen(sentence); 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);
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