e-olymp 8320. Заглавная строка

Условие

Обычная задача обработки текстов — преобразовать первую букву каждого слова в строке в заглавную. Задана строка, содержащая слова из прописных букв, разделенных одним или несколькими пробелами. Выведите идентичную ей строку, за исключением того что первую букву каждого слова следует сделать заглавной.

Входные данные

Строка из слов, состоящих из прописных букв $’a’$ — $’z’$, разделенных одним или несколькими пробелами. Длина строки не более $50$ символов.

Выходные данные

Выведите строку, идентичную входной, в которой первая буква каждого слова преобразована в заглавную.

Тесты

Входные данные Выходные данные
1 introduction to algorithms Introduction To Algorithms
2 more than  one   space   between     words More Than  One   Space   Between     Words
3 hello world Hello World
4 string or c string String Or C String

Решение

Для решения данной задачи необходимо, во-первых, прочитать строку. Используем для этого в первом решении getline(cin, s); и cin.getline(s, 51); во втором, так как есть необходимость читать несколько пробелов. Далее делаем первый символ заглавным с помощью toupper(s[0]), а затем проверяем все остальные символы, начиная с третьего и делаем первые символы в каждом слове заглавными с помощью упомянутой функции. В конце выводим строку.

Код программы №1

Код программы №2

Ссылки

AA3

Задача

В заданной строке заменить каждую цифру символом «*».

Тест

Ввод Вывод
a;iejfhu789LKSKJD55ahg7 a;iejfhu***LKSKJD**ahg*
123456789 *********
Q1D2F3G4H5J6K7L8’\ Q*D*F*G*H*J*K*L*’\
Guten Abend!Ich heise Katja. Ich bin 18 Jahre alt Guten Abend!Ich heise Katja. Ich bin  **  Jahre alt

Cсылка на программу:http://ideone.com/CoqOFb

Решение:

Пробежимся по всей строке и проверим каждый символ. Если найдется цифра, то меняем ее на «*», и выводим исправленный текст.