Differences between revisions 2 and 3
Revision 2 as of 2011-03-22 13:11:01
Size: 3483
Editor: PavelSutyrin
Comment:
Revision 3 as of 2011-03-22 13:11:26
Size: 3490
Editor: PavelSutyrin
Comment:
Deletions are marked like this. Additions are marked like this.
Line 14: Line 14:
1. Написать функцию {{{void swap( x,y )}}}, которая меняет местами значения своих аргументов. Уточнить тип аргументов {{{x,y}}} самостоятельно. Написать функцию {{{main}}}, которая читает два целых числа с клавиатуры, успешно меняет местами с помощью этой функции, и печатает их новые значения. 1. Написать функцию {{{
void swap( x,y )}}}, которая меняет местами значения своих аргументов. Уточнить тип аргументов {{{x,y}}} самостоятельно. Написать функцию {{{main}}}, которая читает два целых числа с клавиатуры, успешно меняет местами с помощью этой функции, и печатает их новые значения.
Line 16: Line 17:
2. Написать функции минимума {{{int min(int x, int y)}}} и максимума {{{int max(int x, int y)}}}. Написать функцию {{{main}}}, которая вводит с клавиатуры массив длины ровно {{{n}}} целочисленных элементов ({{{n > 0}}} задано константой в программе), и печатает разность максимального и минимального элементов массива. Проверить работу программы для {{{n}}} = 3, 5, 10. 2. Написать функции минимума {{{
int min(int x, int y)}}} и максимума {{{
int max(int x, int y)}}} Написать функцию {{{main}}}, которая вводит с клавиатуры массив длины ровно {{{n}}} целочисленных элементов ({{{n > 0}}} задано константой в программе), и печатает разность максимального и минимального элементов массива. Проверить работу программы для {{{n}}} = 3, 5, 10.
Line 20: Line 23:
4. Написать функцию {{{int is_palindrome( char *s1 )}}}, которая возвращает 1, если строка s1 является палиндромом (одинаково читается с начала и с конца, или: симметрична относительно середины) и 0, если не является. ПРИМЕЧАНИЕ: любая строка длины 0 или 1 является палиндромом по определению. Написать функцию {{{main}}}, которая читает с клавиатуры строку произвольной длины (до '.') и печатает {{{"yes"}}}, если она является палиндромом, и {{{"no"}}} в противном случае. ВНИМАНИЕ: Память за собой освобождать! 4. Написать функцию {{{
int is_palindrome( char *s1 )}}}, которая возвращает 1, если строка s1 является палиндромом (одинаково читается с начала и с конца, или: симметрична относительно середины) и 0, если не является. ПРИМЕЧАНИЕ: любая строка длины 0 или 1 является палиндромом по определению. Написать функцию {{{main}}}, которая читает с клавиатуры строку произвольной длины (до '.') и печатает {{{"yes"}}}, если она является палиндромом, и {{{"no"}}} в противном случае. ВНИМАНИЕ: Память за собой освобождать!

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

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

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

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

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

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