Для каждой даты указать порядковый номер дня года, что отвечает этой дате - C (СИ)

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

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

Вот такая задачка: В динамическую память занести последовательность дат у форме символьных рядков, что имеют формат День.Месяц.Год. Напечатать таблицу, в которой для каждой даты указать порядковый номер дня года, что отвечает этой дате. В программе создать и применить функцию, которая по заданной дате определяет порядковый номер дня соответствующего года, учитывая високосной ли год. пример: 21.02.2000 – 52-й день года. Нашел что високосным считается год, который целочисленно делится на 4, но не делится на 100, кроме год что делятся на 400. Задачка интересная но не хватает времени и знаний для исполнения. Буду благодарен за любую помощь.

Решение задачи: «Для каждой даты указать порядковый номер дня года, что отвечает этой дате»

textual
Листинг программы
#include <stdio.h>
 
int main(void)
{
int dd, mm, yy, den=0, i;
int a[12]={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
 
printf("Введите дату: ");
scanf("%d.%d.%d", &dd, &mm, &yy);
 
if (yy%4==0) a[1]++;    //проверка на високосный год
 
for(i=0; i<mm-1; i++) den+=a[i];
 
den+=dd;
 
printf("День: %d\n", den);
 
}

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

  1. Подключение стандартной библиотеки для работы с вводом/выводом
  2. Объявление переменных: dd, mm, yy, den, i
  3. Массив a содержит количество дней в каждом месяце
  4. Вывод сообщения с просьбой ввести дату
  5. Считывание введенной даты в переменные dd, mm, yy
  6. Проверка на високосный год: если год делится на 4 без остатка, то добавляем 1 к значению в массиве a для февраля
  7. Инициализация переменной den значением 0
  8. Цикл для прохода по всем месяцам, начиная с 0 (январь) до mm-1 (исключая введенный месяц)
    • Прибавляем к den значение из массива a для каждого месяца
  9. Прибавляем значение dd к den
  10. Выводим значение den, которое представляет собой порядковый номер дня в году

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


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

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

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