Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задачи.doc
Скачиваний:
19
Добавлен:
10.05.2015
Размер:
198.66 Кб
Скачать

Обработка символьных строк

  1. Написать и протестировать аналог функции Strncat().

  2. Написать и протестировать функцию Issubstr(str1, str2), которая ищет подстроку str1 в строке str2. Функция возвращает указатель на первый символ подстроки либо NULL, если подстрока не найдена.

  3. Написать и протестировать аналог функции Strspn().

  4. Написать и протестировать функцию Strs(str1, str2), которая ищет в строке str1 какой-нибудь символ из строки str2. Функция возвращает указатель на первый найденный символ либо NULL, если str1 и str2 не имеют общих символов.

  5. Написать и протестировать аналог функции Strncmp().

  6. Написать и протестировать аналог функции Strncpy().

  7. Написать и протестировать функцию Strend(str1, str2), которая возвращает 1, если строка str1 расположена в конце str2, и 0 в противном случае.

  8. Написать и протестировать функцию Wrdlc(st1, st2), возвращающую указатель на самое длинное слово предложения st1, встречающееся в предложении st2, или NULL если общих слов нет.

  9. Написать и протестировать функцию Escape(str1, str2), которая копирует текст из str1 в str2, заменяя при этом символы перевода строки и табуляции видимыми последовательностями символов \n и \t.

  10. Написать и протестировать функцию Strp(str1, str2), которая возвращает указатель на первое вхождение символа из строки str2 в строку str1. Если ни один символ строки str2 не входит в строку str1, то возвратить NULL.

  11. Написать и протестировать функцию Stoi(string, intptr), преобразующую символьную строку string в целое число. Функция возвращает 0, если преобразование возможно и 1 в противном случае.

  12. Написать и протестировать функцию Delete(str1, str2), которая удаляет из строки str1 все символы, встречающиеся в строке str2.

  13. Написать и протестировать аналог функции Strchr().

  14. Написать функцию, преобразующую вводимую с клавиатуры строку цифр в натуральное число. Функция должна

– возвращать значение введённого числа;

– игнорировать попытки ввода символов, отличных от цифр;

– выдавать сообщение об ошибке при попытке ввода числа, превышающего допустимое значение типа unsigned int.

Всякая всячина

  1. Поменять местами значения целых переменных А и В, не используя дополнительные переменные.

  2. Распечатать в порядке убывания нечётные числа из диапазона [5..90], кратные 3 и не кратные 5.

  3. Даны целые числа x, y и вещественное число z. Используя директиву #define для нахождения большего из чисел, вычислить S = max(x + y + z, xyz) +3max(xy, 2 + z, 2)

  4. Среди N введённых целых положительных и отрицательных чисел найти количество пар соседей разных знаков.

  5. Идёт k–тая секунда суток. Определить, сколько полных часов и полных минут прошло к этому моменту.

  6. Составить программу, печатающую ДА или НЕТ в зависимости от того, имеют ли три целых введённых числа одинаковую чётность.

  7. Дано натуральное число N. Выяснить, есть ли среди чисел

хотя бы одно число, кратное двум и не кратное трём.

  1. Дано натуральное число k. Определить k-тую цифру последовательности, в которой выписаны подряд степени числа 10: 110100100010000100000…

  2. Распечатать в порядке убывания все делители введённого натурального числа.

  3. Даны вещественные числа Выяснить, можно ли построить четырёхугольник с длинами сторон, равными этим числам.

  4. Составить программу, которая по двум введённым вещественным числам вычисляет коэффициенты p и q приведённого квадратного уравнения, корнями которого являются эти числа, и печатает это уравнение в виде x^2+px+q=0.

  5. Определить k-тую цифру последовательности 182764125216343…, в которой выписаны подряд кубы натуральных чисел.

  6. В ГИБДД обратились три свидетеля ДТП. Один заметил, что номер нарушителя делится на 2, 7 и 11. Второй запомнил, что в записи номера участвуют всего две различных цифры. Третий сказал, что сумма цифр номера равна 30. Определить четырёхзначный номер нарушителя.

  7. Определить k-тую цифру последовательности 1234567891011121314…, в которой выписаны подряд все натуральные числа.

  8. Дано натуральное число N > 10. Вычислить сумму всех чисел Фибоначчи fk, которые не превосходят N. Закон Фибоначчи: f1 = 1, f2 = 1, fk+1=fk-1+fk.

  9. Дано положительное число a. Найти k-ое число Фибоначчи, такое, что Числа Фибоначчи:

  10. Найти все простые несократимые дроби, заключённые между 0 и 1, знаменатели которых не превосходят заданного числа lim.

  11. Выяснить, сколько существует четырёхзначных чисел, кратных 45, две средние цифры которых 7 и 9. Распечатать сами числа и их количество.

  12. Напечатать все представления натурального числа n суммой натуральных чисел. Перестановки слагаемых исключить.

  13. Найти наименьшее общее кратное и наибольший общий делитель для n введённых натуральных чисел.

  14. Выяснить, какие цифры (по одной справа и слева) нужно приписать к числу 1022, чтобы полученное число делилось на 7, 8, 9. Распечатать это число.

  15. По трём введённым вещественным числам выяснить, можно ли построить треугольник с такими длинами сторон. Если можно, то определить тип треугольника (равносторонний, равнобедренный, прямоугольный, общего вида).

  16. Записать введённую формулу в постфиксной форме. В записи формулы используются только имена переменных, знаки операций +, –, *, /, и круглые скобки. Имя переменной – это последовательность букв и цифр, начинающаяся с буквы. Длина имени не более шести символов.