Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник 357.docx
Скачиваний:
27
Добавлен:
30.04.2022
Размер:
1.75 Mб
Скачать

12. 4 Практические задания

1. Напишите программу, которая запрашивает имя пользователя и здоровается с ним, используя введённое имя.

Для начала определим последовательность шагов выполнения задания.

Шаг 1. Вывод на экран строки с вопросом.

Шаг 2. Считывание введенной пользователем строки.

Шаг 3. Формирование новой строки, содержащей «приветствие» и введенную пользователем строку.

Шаг 4. Печать новой строки.

Затем для каждого шага выберем языковую конструкцию или функцию.

Шаг 1. – функция printf(“Приглашение к вводу имени»);

Шаг 2. – функция scanf(“%s”, Name);

Шаг 3. – функция strcat(Snew, Name);

Шаг 4. – функция printf (“%s!”, Snew);

В программе необходимы две строки:Snew, содержащая приветствие и Name, содержащая введенное имя.

Начинать написание программы следует с включения заголовочных файлов, использованных функций <stdio.h> и <string.h>, функции main, содержащей объявления строк как массивов известной размерности и шагов 1-4.

2. Запустите и отладьте программу.

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

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

Для этого понадобится вычислять длину введенной строки, что можно сделать:

А) использовав стандартную функцию strlen(Str), которая возвращает количество символов строки без нулевого;

Б) использовав функцию sizeof для определения размера массива, которым является введенная пользователем строка в виде sizeof(S)/sizeof(char);

В) напрямую подсчитав количество ненулевых элементов в строке переменной i с использованием оператора цикла while( Str[i++]); (перебираем все элементы массива-строка, пока не встретится нулевой символ, увеличивая счетчик на 1).

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

Обратите внимание, функция scanf вводит только часть строки до первого пробела, поэтому перепишите программу, используя функцию gets(S).

6. Измените первоначальный вариант программы, выводящий строку типа «Привет, Вася!» так, чтобы

1.

удваивалась последняя буква введенного имени

2.

первая буква имени была строчной, а остальные выводились заглавными (прописными)

3.

в имени две первые буквы менялись местами (без изменения регистра ввода)

4.

перед каждой последней буквой вставлялся символ подчеркивания

5.

имя выводилось наоборот (Оля-Яло)

6.

в имени исчезала вторая буква

7.

половина букв имени выводилась прописными, а остальные заглавными

8.

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

9.

после каждой буквы имени добавлялся пробел

10

вместо буквы ‘а’ вставлялся символ @

11

каждая предпоследняя буква имени заменялась тире

12

в имени утраивалась заглавная буква

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]