Лабораторная работа 6. строковый тип данных.

Цель работы: изучение правил описания, ввода-вывода и основных функций обработки символьных (строковых) данных.

Теоретический материал

Для работы со строками в языке С есть специальные функции, которые описаны в библиотечном файле string.h. Наиболее часто используются такие функции как:

strcpy(), strcat(), strcmp().

Рассмотрим их поподробнее. Вызов функции strcpy() имеет вид:

strcpy(s1, s2);

Эта функция позволяет копировать содержимое строки s2 в строку s1. Массив s1 должен быть достаточно вместительным, чтобы в него поместилась строка s2. Если нужного места не хватает, то компилятор не выдает сообщение об ошибке или хотя бы предупреждение. Программа не прервет свою работу. Однако же все это вполне может привести к порче данных или самой программы. В результате программа может работать, но неправильно. И никто об этом не узнает.

Функция strcat() имеет вызов:

strcat(s1, s2);

Функция strcat() присоединяет строку s2 к строке s1 и помещает новую строку в массив, где находилась строка s1. Строка s2 не изменяется. При этом, как и в предшествующем случае, нет никакого контроля. Нулевой байт строки s1 заменяется первым символом строки s2. Новая строка автоматически завершится нулевым байтом.

Функция Strcmp() сравнивает строку s2 со строкой s1.Если строка s1 лексикографически меньше строки s2,возращает отрицательное число.

if (strcmp(s1,s2) == -1)

Разберем и изучим несложную программу, в которой показано использование этих функций.
#include <stdio.h>
#include <string.h>
/* Пример программы для работы со строками */
main()
{
char s1[20], s2[20];
strcpy(s1, "Hello, ");
strcpy(s2, "World!");
puts(s1);
puts(s2);
strcat(s1, s2);
puts(s1);
puts(s2);
getch();
}

Задание:

Написать программу и нарисовать блок-схему к ней согласно данному варианту.

Вариант 1.

В произвольном тексте найти и отпечатать все слова, начинающиеся с буквы а.

Вариант 2.

В произвольном тексте найти и отпечатать все слова, заканчивающиеся буквой r.

Вариант 3.

В произвольном тексте найти самое короткое слово.

Вариант 4.

В произвольном тексте найти и отпечатать слова, содержащие букву e, но не содержащие букву w.

Вариант 5.

Отпечатать второе и четвертое слова произвольного текста.

Вариант 6.

В 2-х предложениях найти и распечатать совпадающие слова.

Вариант 7.

Во введенном предложении расположите слова в обратной последовательности.

Вариант 8.

В произвольном тексте найти и отпечатать все слова, начинающиеся с буквы u.

Вариант 9.

В произвольном тексте найти и отпечатать все слова, заканчивающиеся буквой m.

Вариант 10.

В произвольном тексте найти самое длинное слово.

Вариант 11.

В произвольном тексте найти и отпечатать слова, содержащие букву t, но не содержащие букву q.

Вариант 12.

Отпечатать первое и четвертое слова произвольного текста.

Вариант 13.

В 3-х предложениях найти и распечатать совпадающие слова.

Вариант 14.

Отпечатать первое и третье слова произвольного текста.

Вариант 15.

В произвольном тексте найти и отпечатать все слова, начинающиеся с буквы y.

Вариант 16.

В произвольном тексте найти и отпечатать все слова, заканчивающиеся буквой w.

Вариант 17.

В произвольном тексте найти и отпечатать слова, содержащие букву i, но не содержащие букву m.

Вариант 18.

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

Вариант 19.

В 4-х предложениях найти и распечатать совпадающие слова.

Вариант 20.

Отпечатать второе и третье слова произвольного текста.

Вариант 21.

В произвольном тексте найти и отпечатать все слова, начинающиеся с буквы r.

Вариант 22.

В произвольном тексте найти и отпечатать все слова, заканчивающиеся буквой k.

Вариант 23.

В произвольном тексте найти и отпечатать слова, содержащие букву f, но не содержащие букву n.

Вариант 24.

Отпечатать первое и второе слова произвольного текста.

Вариант 25.

В произвольном тексте найти и отпечатать слова, содержащие букву a, но не содержащие букву h.

Вариант 26.

Дана строка. Подсчитать количество содержащихся в ней цифр.

Вариант 27.

Дана строка, состоящая из слов, разделенных пробелами. Найти количество слов в строке.

Вариант 28.

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

Вариант 29.

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

Вариант 30.

Дана строка, определить количество символов в строке, не включая пробелы и цифры.

Вариант 31.

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


Наши рекомендации