Самостоятельная работа (22.03.2011)

ВАЖНЫЕ замечания

Решение каждой задачи предполагает написание полной программы на Си. Эта программа должна читать входные данные из стандартного входного файла, а затем выдавать ответ в стандартный выходной файл. При запуске с терминала это будет означать ввод с клавиатуры и вывод на экран.

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

Обязательно сохраняйте файлы под именами, соответствующими задачам, например:

Самостоятельная работа

1. Написать функцию

void swap( x,y ),

которая меняет местами значения своих аргументов. Уточнить тип аргументов x,y самостоятельно. Написать функцию main, которая читает два целых числа с клавиатуры, успешно меняет местами с помощью этой функции, и печатает их новые значения.

2. Написать функции минимума

int min(int x, int y)

и максимума

int max(int x, int y)

Написать функцию main, которая вводит с клавиатуры массив длины ровно n целочисленных элементов (n > 0 задано константой в программе), и печатает разность максимального и минимального элементов массива. Проверить работу программы для n = 3, 5, 10.

3. Написать проограмму, которая вводит с клавиатуры строку произвольной длины (строка вводится до появления символа '.', сам этот символ в строку не входит), и печатает, сколько в ней встречается цифр, и сколько переводов строки. ВНИМАНИЕ: Память за собой освобождать!

4. Написать функцию

int is_palindrome( char *s1 ),

которая возвращает 1, если строка s1 является палиндромом (одинаково читается с начала и с конца, или: симметрична относительно середины) и 0, если не является. ПРИМЕЧАНИЕ: пустая строка и любая строка длины 1 являются палиндромами по определению. Написать функцию main, которая читает с клавиатуры строку произвольной длины (до '.') и печатает "yes", если она является палиндромом, и "no" в противном случае. ВНИМАНИЕ: Память за собой освобождать!

LecturesVMSH/C/2011-03-22 (last edited 2011-03-22 13:24:20 by PavelSutyrin)