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

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)