Определить, сколько дней осталось до Нового года - C (СИ)
Формулировка задачи:
Напишите программу, в которую передается номер месяца и день. Она должна определить сколько дней осталось до Нового года.
Решение задачи: «Определить, сколько дней осталось до Нового года»
textual
Листинг программы
#include "stdio.h"
unsigned int month[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int _tmain(int argc, _TCHAR* argv[])
{
unsigned int m;
unsigned int d;
unsigned int days = 0;
printf("input month: ");
scanf("%d", &m);
printf("input day: ");
scanf("%d", &d);
unsigned int i;
for(i = m; i < 12; i++){
days += month[i];
}
days += month[m - 1] - d;
printf("days: %d", days);
return 0;
}
Объяснение кода листинга программы
В этом коде на языке C:
- Объявлены массив
monthс количеством дней в каждом месяце (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31) и переменныеmиdдля ввода пользователем числа месяца и дня соответственно. - Пользователю предлагается ввести число месяца и дня.
- Инициализируется переменная
daysдля подсчета количества дней. - В цикле
forначиная с введенного месяца и до 11 (для исключения декабря, так как индексы массива начинаются с 0) кdaysприбавляется количество дней в каждом месяце. - К
daysтакже прибавляется количество дней в месяце, в котором были введены данные (учитывается индекс 0), уменьшенное на введенное число дней. - Выводится значение переменной
days, равное общему количеству дней. - Программа возвращает 0, заканчивая свою работу.