Неправильный перевод единиц времени - C (СИ)
Формулировка задачи:
Что не так с кодом? когда ввожу 70 выводит 2686736часов : 2686868минут и когда ввожу 80 выводит то же самое
#include <locale.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <inttypes.h>
#include <limits.h>
#include <float.h>
int main()
{setlocale(LC_ALL, "rus");
int MINH=60;
int h,m,g;
printf("Чтобы выйти введите 0\nВведите количество минут:");
scanf("%d",&g);
while(g>0)
{
h=g/MINH;
m=g%MINH;
printf("\nЭто <<<%dчасов : %dминут>>>");
printf("Чтобы выйти введите 0\nВведите количество минут:");
scanf("%d",&g);
}
getchar();
return 0;
}Решение задачи: «Неправильный перевод единиц времени»
textual
Листинг программы
printf("\nЭто <<<%dчасов : %dминут>>>", h, m);
Объяснение кода листинга программы
В данном коде на языке C выполняется следующая последовательность действий:
- Выводится строка
Это <<<%dчасов : %dминут>>>с помощью функции printf. - Значения переменных h и m подставляются в строку с помощью спецификатора формата %d.
- Переменная h содержит количество часов, а переменная m содержит количество минут.
- В результате выполнения данного кода будет выведена строка вида
Это <<<10 часов : 20 минут>>>или любая другая комбинация значений переменных h и m.