Deitel C - Задачи - Глава 5

Материал из Информационная безопасностя
Перейти к навигации Перейти к поиску

Deitel C - Задачи

Группы и результаты

8 А 8 Б 8 В 8 Г

05.09

Напишите программу, которая вводит четыре целых числа представляющих собой длительность нахождения автомобилей на платной парковке (от 1 до 24 часов) и расчитывает стоимость. Стоимость расчитывается по формуле начальный взнос 200 рублей за первые 3 часа + 50 рублей за каждый последующий час. Стоимость не может превышать 1000 рублей. Стоимость должна расчитыватся отдельной функцией. Результат должен выводится в следующем формате:

  Car   Hours   Charge
    1       1      200
    2       4      250
    3      19     1000
    4      24     1000
TOTAL      48     2450

05.11

Напишите функции, которые округляю число с плавающей точкой до единиц, десятков, сотен и тысяч. a) roundToInteger(number) b) roundToTenths(number) c) roundToHundreths(number) d) roundToThousandths(number) Создайте для размещения функций отдельные файлы. С исходным кодом (round.c) и заголовочный (round.h).

Выведите на экран пример работы каждой из функций в следующем формате:

roundToInteger    (     123.230) =      123.000
roundToTenths     (   33683.000) =    33680.000
roundToHundreths  ( 2233223.000) =  2233200.000
roundToThousandths( 2128506.000) =  2129000.000

05.15

Напишите программу, которая вычисляет гипотенузу треугольника по введённым двум катетам. Вынесите расчёт в отдельную функцию.

05.16

Напишите программу, которая возводит целое число в целую степень. Напишите свою функцию для возведения в степень не используя функцию pow.

05.17

Напишите программу, которая определяет является ли второе введённое число множителем первого. Напишите свою функцию, которая возвращает значение bool.

05.18

Напишите программу, которая определяет является ли число чётным. Напишите свою функцию возвращающую значение bool. Программа должна принимать значения и выдавать результат до ввода числа 0.

05.20

Напишите программу, которая по введённому числу от 1 до 20 будет выводить квадрат символов со стороногй соответствующей числу. Квадрат должен выводится отдельной функцией принимающей в качестве параметов целое число (длинну стороны квадрата) и символ из которого квадрат должен состоять.

05.23

Напишите программу, которая вводит количество часов, минут и секунд и выводит количество секунд прошедших с полуночи. Напишите отдельную функцию, которая из трёх числе количество секунд.

05.24

Напишите программу, которая имеет 2 функции перевода double градусов из системы Цельсия в систему Фаренгейта и обратно. Выведите значения (c 3 знаками дробной части) соответствующих друг другу температур по одному значению на строчке.

Для градусов Цельсия от 0 до 100 с шагом в 1 грудус
0.000 С = 32.000 F
Для градусов Фаренгейта от 0 до 250 с шагом в 1 грудус
0.000 F = -17.778 F

05.26

Совершенные числа - это числа сумма множителей которых включая 1, но не включая самого числа равна этому числу. Напишите функцию, которая определяет совершенное число или нет. Выведите все совершенные числа от 5 до 1000. По одному на строку.

05.27

Напишите функцию определяющую является ли число простым. Выведите все простые числа от 2 до 10000. По одному на строку.

05.29

Напишите программу, осуществляющую ввод двух целых положительных чисел и вычисляющую (в отдельной функции) и выводящую наибольший общий делитель.

05.32

Напишите игру в которой программа задумывает число от 1 до 1000 и предлагает игроку угадать его подсказывая больше или меньше догадка целевого числа. В конце игры программа должна задать вопрос о том, начинать ли новую игру или завершить работу программы.

05.32+

Напишите игру в которой человек задумывает число от 1 до 1000 и программа угывает его по подсказкам от игрока больше или меньше догадка целевого числа. В конце игры программа должна задать вопрос о том, начинать ли новую игру или завершить работу программы.

05.36

Ханойские башни - это типичная алгоритмическая задача. На трёх палках надеты кольца. От низа к верху в уменьшающемся размере. Необходимо перенести их с первой палки на третью используя вторую как временное хранилище с условием, что нельзя класть большее кольцо поверх меньшего. Напишите программу, которая вводит количество колец и выводит алгоритм переноса.

Например для 3-х колец.
1 => 3 (перемещение кольца с первой палки на третью)
1 => 2
3 => 2
1 => 3
2 => 1
2 => 3
1 => 3

05.41

Напишите программу, которая вводит по 2 координаты (X и Y) двух точек и выводит расстояние между ними. Расчёт расстояния выведите в отдельную функцию.