Преобразование в верхний регистр
Часть раздела Logic & Flow путешествия по C на Coddy — урок 23 из 63.
Задание
ЛегкоРасширьте свою программу для работы с текстом из предыдущего урока, добавив функциональность преобразования в верхний регистр. Ваша программа должна:
- Запросить у пользователя ввод короткого предложения, выведя текст:
Enter a sentence:(без символа новой строки в конце) - Объявить символьный массив с именем
sentenceиз 200 элементов для хранения ввода - Использовать
scanfсо спецификатором формата%sдля чтения одного слова от пользователя - Вывести сохраненное слово в формате:
You entered: [word] - Использовать
strlen()для вычисления общего количества символов в слове - Вывести количество символов в формате:
Character count: [count] - Вывести длину, используя
strlen(), в формате:Length: [length] - Перебрать каждый символ в слове с помощью цикла для подсчета гласных
- Для каждого символа проверить, является ли он гласной (a, e, i, o, u) как в нижнем, так и в верхнем регистре
- Вести текущий счетчик найденных гласных
- Вывести количество гласных в формате:
Vowel count: [count] - Вывести
Uppercase:, а затем использовать цикл для преобразования и вывода каждого символа слова в верхнем регистре с помощью функцииtoupper()
Не забудьте включить заголовочный файл <string.h> для использования функции strlen() и заголовочный файл <ctype.h> для использования функции toupper().
О функции toupper():
Функция toupper() из <ctype.h> преобразует один символ в его эквивалент в верхнем регистре. Если символ уже находится в верхнем регистре или не является буквой, он возвращается без изменений.
Пример: toupper('a') возвращает 'A', а toupper('Z') возвращает 'Z'.
Вы можете использовать ее внутри цикла для преобразования каждого символа по одному: printf("%c", toupper(sentence[i]));
Важно: После приглашения Enter a sentence: не должно быть новой строки. Используйте printf("Enter a sentence: "); без \n.
Ваш вывод должен отображать результаты в следующем формате:
Enter a sentence: You entered: [word]
Character count: [count]
Length: [length]
Vowel count: [count]
Uppercase: [WORD]Например, если на входе подано:
ProgrammingВаш вывод должен быть таким:
Enter a sentence: You entered: Programming
Character count: 11
Length: 11
Vowel count: 3
Uppercase: PROGRAMMINGЭта задача дополняет предыдущий урок, добавляя функциональность преобразования в верхний регистр с помощью функции toupper() из библиотеки <ctype.h>. Вам нужно будет использовать цикл для итерации по каждому символу в строке, преобразовать его в верхний регистр и вывести полученный результат.
Попробуйте сами
#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;
}Все уроки раздела Logic & Flow
1Основы указателей
Что такое указатель?Объявление указателейОператор взятия адреса (&)Оператор разыменования (*)Указатели NULLИтоги: Основы указателей4Проект: Простая текстовая утилита
Обзор проектаПодсчет символов2Указатели и массивы
Имена массивов как указателиЭлементы массива — указателиАрифметика указателейСравнение указателейИтоги: Обход массива через указатели5Указатели и функции
Передача по значениюПередача указателей в функцииИзменение переменных через указателиКлассический пример: SwapПередача массивов в функцииИтоги: указатели как аргументы функций8Структуры и указатели
Указатели на структурыОператор «стрелка» (->)Передача структур по значениюПередача указателей на структурыДинамическое выделение памяти для структурИтоги: Изменение структур через указатели11Итоговые задачи на повторение
Повторение: динамическая конкатенация строкПовторение: массив структурПовторение: счетчик частоты слов3Символьные массивы и строки
Строки как массивы charНуль-терминаторВвод строк с помощью scanfИспользование strlen()Использование strcpy()Использование strcat()Использование strcmp()Итоги: основные строковые функции