Самостоятельная работа (22.03.2011)
ВАЖНЫЕ замечания
Решение каждой задачи предполагает написание полной программы на Си. Эта программа должна читать входные данные из стандартного входного файла, а затем выдавать ответ в стандартный выходной файл. При запуске с терминала это будет означать ввод с клавиатуры и вывод на экран.
Для успешного решения задачи пока достаточно, чтобы программа правильно работала на правильных входных данных.
Обязательно сохраняйте файлы под именами, соответствующими задачам, например:
- 1.c
Самостоятельная работа
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" в противном случае. ВНИМАНИЕ: Память за собой освобождать!