Расчёт порядкового номера дня в году - C (СИ)

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

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

Привет всем! Есть задача, надо написать программу на Си для вычесления номера дня в году по дате. Например задана дата 22.01.1991 и программа должна показать что это 22 день в 1991 году. Также необходимо учесть Високостный год.
#include <stdio.h>  
#include <stdlib.h>
 
int main () {
    
    int i, tag, monat, jahr;
    int t = 0;
    int arrTageImMonat[13] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
    
    printf("Bitte zuerst einen Tag (1 - 31), dann einen Monat (1 - 12) und zum Schluss ein Jahr eingeben!");
    printf("\nBitte Tag eingeben:");
    scanf("%d", &tag);
    printf("\nBitte Monat eingeben:");
    scanf("%d", &monat);
    printf("\nBitte Jahr eingeben:");
    scanf("%d", &jahr);
    
    if((jahr % 400) == 0 || ((jahr % 4) == 0 && (jahr % 100) != 0)) {
    
             arrTageImMonat[2] = 29;
             for (i = 0; i < monat; i++) {
               t = t + arrTageImMonat[i];
               }
             t = t + tag;
             printf("\nTag im Jahr = %d",t);
             
    } else {
           
           for (i = 0; i < monat; i++) {
               t = t + arrTageImMonat[i];
               }
           t = t + tag;

           printf("\n Tag im Jahr = %d",t);
           
    }
    
    scanf("%d", &jahr);
}
прошу помочь с дальнейшем решением. П.С: если понадобится могу перевести коментарии на русский! Зарание спасибо.

Решение задачи: «Расчёт порядкового номера дня в году»

textual
Листинг программы
if((jahr % 400) == 0 || ((jahr % 4) == 0 && (jahr % 100) != 0))

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

  1. Переменная jahr содержит год, для которого нужно определить порядковый номер дня в году.
  2. В условии используется оператор % для определения остатка от деления года на 400.
  3. Если год делится на 400 без остатка, то он високосный и порядковый номер дня в году определяется как 01.
  4. Если год делится на 4 без остатка, но не делится на 100 без остатка, то он високосный и порядковый номер дня в году определяется как 04.
  5. Если год не делится ни на 4, ни на 100 без остатка, то он не високосный и порядковый номер дня в году определяется как 00.

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


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

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

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