Контрольная работа (попытка №1)

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

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

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

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

Задачи для решения в машинном зале

1. Написать функцию int prod( int n ), n > 0, вычисляющую произведение нечетных чисел в диапазоне от 1 до n включительно. Например, для n=8 она должна вернуть 105, т.е. 1*3*5*7. В реализации функции не использовать циклы и переходы (т.е., реализовать ее рекурсивно). Написать программу, которая читает с клавиатуры число n и печатает на экран результат вызова prod(n).

2. Написать функцию void sqr( int *x, int n), которая в массиве x прибавляет ко всем элементам массива его последний элемент. Написать программу, которая вводит массив длины N=5 с клавиатуры, вызывает для него функцию sqr и выводит его на экран.

3. Написать программу, которая вначале вводит с клавиатуры последовательность целых чисел, заканчивающуюся нулем (ноль в последовательность не входит), и записывает их в прямом порядке в линейный связанный список. Затем в списке должен быть найден последний по счету отрицательный элемент, и напечатаны на экране порядковый номер и значение этого элемента. Если отрицательных элементов в списке нет, то напечатать слово "NO". Элементы списка нумеруются с начала, первый элемент имееет номер 1.

4. В задаче 3 поиск элемента реализовать без использования циклов и переходов (рекурсивно).

LecturesVMSH/C/2011-05-17 (last edited 2011-05-17 12:29:50 by PavelSutyrin)