Определить время до момента, когда часовая и минутная стрелки на циферблате будут перпендикулярны друг другу - C (СИ)
Формулировка задачи:
Не могу написать программу на языке Си. Помогите пожалуйста. Заранее Спасибо!
Целые числа m и n определяют время суток (0m11; 0n59). Определить наименьшее время, которое должно пройти до того момента, когда часовая и минутная стрелки на циферблате расположатся перпендикулярно друг другу.
Решение задачи: «Определить время до момента, когда часовая и минутная стрелки на циферблате будут перпендикулярны друг другу»
textual
Листинг программы
#include <stdio.h> int main() { unsigned min, hour, k, x; puts("Enter 0 <= hours < 12:"); while(1 != scanf("%u", &hour) || hour < 0 || hour > 11){ getchar(); puts("Data entry error!Try again."); } puts("Enter 0 <= minutes < 60:"); while(1 != scanf("%u", &min) || min < 0 || min > 59){ puts("Data entry error!Try again."); getchar(); } k = hour * 5 + (min / 12); if(k > 60) k -= 60; x = k > min + 15 ? k - (min + 15) : 15 - (min - k); printf("%u\n", x += x / 12); return 0; }
Объяснение кода листинга программы
- Вводится значение переменной
min
(количество минут). - Вводится значение переменной
hour
(часы). - Переменная
k
вычисляется как (час * 5) + ((минуты / 12)). - Если
k
больше 60, тоk
уменьшается на 60. - Переменная
x
вычисляется как (15 - (минуты -k
)) при условии, чтоk
большеминуты + 15
, иначеx
вычисляется как 15. - Значение переменной
x
увеличивается наx
/ 12. - Выводится значение переменной
x
. - Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д