Работа Программирование обработки строк символов

Вид материалаЗадача

Содержание


Форматирование текста.
Задачи на длинную арифметику
Подобный материал:
Работа 3.5. Программирование обработки строк символов

(к § §2.2.13)


1 уровень

В последующих задачах подразумевается, что слова в тексте (в строке) отделяются друг от друга пробелом

1. Дана строка, заканчивающаяся точкой. Подсчитать, сколько слов в строке.

2. Дана строка, содержащая английский текст. Найти количество слов, начинающихся с буквы b.

3. В строке заменить все двоеточия (:) точкой с запятой (;). Подсчитать количество замен.

4. Дана строка. Преобразовать ее, заменив звездочками все двоеточия (:), встречающиеся среди первых n/2 символов, и заменив точками все восклицательные знаки, встречающиеся среди символов, стоящих после n/2 символов. Здесь n – длина строки.

5. В строке удалить символ двоеточие (:) и подсчитать количество удаленных символов.

6. Дана строка символов, среди которых есть одна открывающаяся и одна закрывающаяся скобка. Вывести на экран все символы, расположенные внутри этих скобок.

7. Дана строка, содержащая текст. Найти длину самого короткого слова и самого длинного слова.

8. Дана строка, содержащая текст, заканчивающийся точкой. Вывести на экран все слова, содержащие три буквы. Если таких слов нет, то вывести сообщение об этом.

9. Дана строка. Преобразовать ее, удалив каждый символ * и повторив дважды подряд каждый символ, отличный от *.

10. Дана строка. Подсчитать количество букв k в последнем ее слове.

11. Определить, сколько раз в тексте встречается заданное слово.

2 уровень

12. Дана строка-предложение на английском языке. Преобразовать строку так, чтобы каждое слово начиналось с заглавной буквы.

13. Дана строка. Подсчитать, сколько различных символов встречаются в ней. Вывести их на экран.

14. Дана строка. Подсчитать самую длинную последовательность подряд идущих букв a.

15. Имеется строка, содержащая буквы латинского алфавита и цифры. Вывести на экран длину наибольшей последовательности цифр, идущих подряд.

16. Дана строка. Указать те слова, которые содержат хотя бы одну букву k.

17. Дана строка. Найти в ней те слова, которые начинаются и оканчиваются одной и той же буквой.

18. Строка содержит одно слово. Проверить, будет ли оно читаться одинаково справа налево и слева направо (т.е. является ли оно палиндромом).

19. В записке слова зашифрованы — каждое из них записано наоборот. Расшифровать сообщение.

20. Статистика. Дан текст. Напишите программу, определяющую процентное отношение строчных и прописных букв к общему числу символов в нем.

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


3 уровень

22. Составить программу преобразования натуральных чисел, записанных в римской нумерации, в десятичную систему счисления.

23. Из заданной символьной строки выбрать те символы, которые встречаются в ней только один раз, в том порядке, в котором они встречаются в тексте.

24. Расстояние между двумя словами равной длины — это количество позиций, в которых различаются эти слова. В заданном предложении найти пару слов заданной длины с максимальным расстоянием.

25. Форматирование текста. Дан текст, состоящий из предложений, разделяемых точками. Напишите программу, производящую следующее форматирование: после каждой точки в конце предложения должен стоять хотя бы один пробел; первое слово в предложении должно начинаться с прописной буквы. Замечание. Текст может быть как на русском, так и на английском языке.

26. Лишние пробелы. Дана строка, состоящая из слов, разделенных пробелами. Напишите программу, удаляющую лишние пробелы. Пробел считается лишним, если он
  • стоит в начале строки;
  • стоит в конце строки;
  • следует за пробелом.

27. Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Вывести строку, содержащую эти же слова (разделенные одним пробелом), но расположенные в обратном порядке.

28. а) Дана строка-предложение. Зашифровать ее, поместив вначале все символы, расположенные на четных местах, а затем, в обратном порядке, все символы, расположенные на нечетных местах (например, строка "Программа" превратится в "ргамамроП").

б) Запрограммировать решение обратной задачи (расшифровки).

Задачи на длинную арифметику. Длинными числами называют целые числа, значения которых выходят за допустимый диапазон для величин целых типов (больше MaxInt). Для их представления используются символьные строки.

29. Составить программу сравнения двух «длинных» многозначных чисел на «больше», «меньше», «равно».

30. Составить программу, суммирующую два натуральных n-значных числа, где n > 20.

31. Составить программу вычисления степеней чисел вида an, если a > MaxInt, n > 10.

32. Составить программу вычисления числа 264 – 1, в результате сохранить все цифры.

33. Составить программу вычисления 100!.