Преобразовать текст таким образом, чтобы каждое слово начиналось с прописной буквы - C (СИ)
Формулировка задачи:
Преобразовать текст таким образом, чтобы каждое слово начиналось с
прописной буквы.
Программа должна выполнять ввод текста, вывод его исходного варианта, выполнять необходимые действия и выводить требуемый результат.
Решение задачи: «Преобразовать текст таким образом, чтобы каждое слово начиналось с прописной буквы»
textual
Листинг программы
#include <stdio.h>
#include <stdbool.h>
int main(void)
{
char str[] = "hello world!";
bool previous_symbol_was_space = true;
for (char* i = str; *i != '\0'; ++i) {
if (previous_symbol_was_space) { *i = toupper(*i); }
previous_symbol_was_space = *i == ' ';
}
puts(str);
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и булевыми значениями
- Объявление основной функции программы, в которой будет выполняться вся логика программы
- Объявление строки, с которой будут производиться манипуляции
- Объявление булевого значения, которое будет определять, было ли предыдущее символом пробелом
- Использование цикла for для прохода по каждому символу строки
- Внутри цикла проверка на то, был ли предыдущим символом пробел
- Если предыдущим символом был пробел, то текущий символ приводится к верхнему регистру
- После каждой итерации цикла значение переменной previous_symbol_was_space обновляется
- После завершения цикла выводится измененная строка
- Завершение программы с возвратом 0