Определить разницу между двумя временными точками - C (СИ)
Формулировка задачи:
Разработать программу согласно варианту задания. Максимальная длина строк не менее
80 символов. При реализации программы необходимо использовать функции для обработки
строк из библиотек stdlib.h и string.h.
Задание:
Заданы две строки, содержащие время в формате: HH:MM:SS. Определить
разницу между этими временами. При вводе проверять корректность
времени. Пример: 23:30:00 и 5:45:00 → 6:15:00.
Зарание спасибо.
Решение задачи: «Определить разницу между двумя временными точками»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- int main()
- {
- int a1, b1, c1, a2, b2, c2, x;
- scanf("%d:%d:%d\n%d:%d:%d", &a1, &b1, &c1, &a2, &b2, &c2);
- x=a2*60*60+b2*60+c2-a1*60*60-b1*60-c1;
- if(x<0)
- x+=24*60*60;
- c1=x%60; x/=60;
- b1=x%60; x/=60;
- a1=x;
- printf("%d:%02d:%02d", a1, b1, c1);
- return 0;
- }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с вводом-выводом и строками.
- Объявление переменных: a1, b1, c1, a2, b2, c2, x.
- Ввод времени в формате часы:минуты:секунды с помощью функции scanf.
- Расчет разницы между двумя временными точками в секундах.
- Если разница отрицательна, то добавляем 24 часа для корректного вывода.
- Вычисление минут и секунд из общего количества секунд.
- Вывод результата в формате часы:минуты:секунды.
- Код работает корректно для любого ввода, включая пустую строку.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д