Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ к ЛР.doc
Скачиваний:
203
Добавлен:
26.03.2015
Размер:
794.11 Кб
Скачать

Лабораторная работа №8. Строки

Цель работы – знакомство с организацией строк в языке Си, изучение библиотечных функций обработки строк и символов.

Постановка задачи

Написать две программы согласно индивидуальному варианту. В случае, когда указано, что задается строка до точки, обрезать строку, отбросив все символы после точки, если точки нет, то считать, что строка ограничена точкой. Использовать функции библиотеки string.

Варианты заданий

  1. Дана строка символов. Удалить из нее все кратные рядом стоящие одинаковые символы, оставив по одному (АААВВССАВС)

  2. Дана строка символов до точки. Подсчитать, сколько слов она содержит.

  1. Дана символьная строка. Определить длину самой длинной подстроки из подряд стоящих букв «а».

  2. Дана строка символов до точки. Подсчитать в ней число латинских букв.

  1. Дана строка символов. Удалить из нее все слова нечетной длины. Слова отделяются друг от друга одним пробелом.

  2. Дана строка символов до точки. Выделить в ней все русские буквы, сделав их заглавными.

  1. Дана строка символов до точки. Определить, является ли она палиндромом. (Палиндром слева направо и справа налево читается одинаково, например "Леша на полке клопа нашел.") Пробелы и знаки препинания, а также регистр букв не учитываются.

  2. Дана строка символов. Подсчитать, сколько раз в ней встречается подслово «АВВА».

  1. Дана строка символов (введена с клавиатуры), состоящая из цифр от 0 до 9. Составить новую строку из букв от А (соответствует цифре 0) до J (соответствует цифре 9).

  2. Дана строка символов. Выделить в ней цветом все символы, не являющиеся буквами.

  1. Дана строка символов до точки. Определить, входят ли в состав заданной строки цифры. Сформировать из них новую строку.

  2. Дана строка символов до точки. Вывести ее на экран задом наперед без пробелов.

  1. Дана строка символов до точки. Записать слова этой строки в обратном порядке (мама мыла раму  раму мыла мама).

  2. Дана символьная строка. Зашифровать в ней все латинские буквы с помощью циклической подстановки ABC…YZA

  1. Дана строка символов. Определить, является ли она правильным скобочным выражением.

  2. Дана символьная строка. Определить длину самой длинной подстроки из подряд стоящих букв «е».

  1. Даны две строки. Составить третью строку из слов, имеющихся в обеих данных строках.

  2. Дана строка символов до точки. Записать новую строку из слов заданной, содержащих букву «М».

  1. Дана строка символов. Изменить строку – во всех словах, имеющих нечетное количество символов, средний символ удалить.

  2. Дана строка символов. Группы символов между группами пробелов считаются словами. Определить число вхождений в последовательность слов группы букв «abc».

  1. Дана строка символов до точки. Оставить в ней только слова, начинающиеся на буквы «A», «D», «K», «P».

  2. Дана символьная строка. Выделить в ней цветом все прописные буквы.

  1. Дана символьная строка. Оставить в ней только слова, содержащие хотя бы одну букву «А».

  2. Дана строка символов до точки. Изменить ее таким образом, чтобы все символы отделялись друг от друга одним пробелом.

  1. Дана строка символов, состоящая из букв и цифр. Найти количество букв в данной строке.

  2. Дана символьная строка. Заменить в ней все буквы «О» на «Ъ», а буквы «Е» – на случайные символы.

  1. Дана строка символов до точки. Определить, сколько слов, состоящих из 5 и более символов, содержит данная строка.

  2. Дана строка символов. Удалить из нее все гласные буквы.

  1. Дана строка символов до точки. Удалить из нее все слова, начинающиеся с буквы «а».

  2. Дана символьная строка. Проверить, все ли слова после точки начинаются с заглавной буквы. Если нет – исправить.

  1. Дана символьная строка. Удалить из нее все символы, не являющиеся буквами.

  2. Дана строка символов до точки. Подсчитать, сколько каких знаков препинания она содержит.

  1. Дана строка символов. Поменять местами N первых и N последних символов заданной строки.

  2. Дана строка символов. Выделить и вывести слова, ограниченные пробелом или знаками препинания: запятая, точка, двоеточие, точка с запятой.

  1. Дана строка символов до точки. Инвертировать каждое слово в заданной строке.

  2. Дана строка символов. Найти в строке самое длинное слово и вывести его на экран.

  1. Дана строка символов. Найти длину каждого слова в заданной строке.

  2. Дана строка символов до точки. Удалить из нее все сочетания “ас”.

  1. Дана строка символов. Инвертировать все слова в этой строке, последовательность слов сохранить.

  2. Дана строка символов до точки. Удалить из нее все повторные вхождения букв.

  1. Дана строка символов. Во всех словах с четным номером поменять местами первый и последний символы.

  2. Дана строка символов. Заменить все пробелы в заданной строке точками и запятыми поочередно.

  1. Дана символьная строка. Поменять местами первый символ ‘d’ и последний символ ‘f’ в заданной строке.

  2. Дана строка, состоящая из букв и цифр. Преобразовать ее так, чтобы сначала шли буквы, а потом – все цифры исходной строки.

  1. Дана строка символов до точки. Заменить в строке все слоги “we” на специальный символ “&”.

  2. Дана строка символов. Поменять местами первое и последнее слова.

  1. Дана строка символов до точки. Удалить из строки первые буквы каждого слова.

  2. Дана строка, состоящая из букв от А до J. Составить новую строку из цифр от 0 (соответствует цифре А) до 9 (соответствует цифре J).

  1. Дана строка символов до точки. Заменить в строке первую букву каждого слова со строчной на заглавную.

  2. Дана строка, состоящая из букв и цифр. Проверить, является ли данная строка представлением числа в шестнадцатеричной системе счисления.

  1. *

  1. В БГТУ принято, что старшая цифра номера студенческой группы означает номер кафедры, средняя – последнюю цифру года поступления, младшая – порядковый номер группы на курсе. Продолжительность обучения не более 6 лет. Дан номер группы студента и текущий год. Определить, к какой кафедре прикреплен студент, в каком году он поступил и на каком сейчас курсе.

  2. Дана строка символов до точки. Определить, сколько каких латинских букв в ней содержится.

Контрольные вопросы

  1. Способы организации строк.

  2. Что такое Си-строка? Чем она отличается от массива символов?

  3. Что такое нуль-терминатор?

  4. Чем отличается описание char *st от char st[N], где N – некоторая константа?

  5. Как инициализировать строку?

  6. Чем отличается ввод строки с помощью функции scanf() от ввода с помощью функции gets()?

  7. Можно ли использовать операцию присваивания для задания значения строки?

  8. Как изменить строку?

  9. Что такое конкатенация строк?

  10. Какие функции для работы со строками Вы можете назвать?

Соседние файлы в предмете Программирование