Определить время до момента, когда часовая и минутная стрелки на циферблате будут перпендикулярны друг другу - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Не могу написать программу на языке Си. Помогите пожалуйста. Заранее Спасибо! Целые числа m и n определяют время суток (0m11; 0n59). Определить наименьшее время, которое должно пройти до того момента, когда часовая и минутная стрелки на циферблате расположатся перпендикулярно друг другу.

Решение задачи: «Определить время до момента, когда часовая и минутная стрелки на циферблате будут перпендикулярны друг другу»

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;
}

Объяснение кода листинга программы

  1. Вводится значение переменной min (количество минут).
  2. Вводится значение переменной hour (часы).
  3. Переменная k вычисляется как (час * 5) + ((минуты / 12)).
  4. Если k больше 60, то k уменьшается на 60.
  5. Переменная x вычисляется как (15 - (минуты - k)) при условии, что k больше минуты + 15, иначе x вычисляется как 15.
  6. Значение переменной x увеличивается на x / 12.
  7. Выводится значение переменной x.
  8. Программа завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.5 из 5
Похожие ответы