计算某年某月某日是该年中的第几天

题目描述

本题要求编写程序计算某年某月某日是该年中的第几天。

输入格式

输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。

输出格式

在一行输出日期是该年中的第几天。

输入样例1:2009/03/02

输出样例1:61

输入样例2:2000/03/02

输出样例2:62

源代码

以下是一个可以计算给定日期是该年中的第几天的 C 语言代码示例:

#include <stdio.h>

int isLeapYear(int year) {
    if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
        return 1;
    } else {
        return 0;
    }
}

int dayOfYear(int year, int month, int day) {
    int daysInMonth[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    
    if (isLeapYear(year)) {
        daysInMonth[2] = 29;
    }

    int totalDays = 0;
    for (int i = 1; i < month; i++) {
        totalDays += daysInMonth[i];
    }
    totalDays += day;

    return totalDays;
}

int main() {
    int year, month, day;
    scanf("%d/%d/%d", &year, &month, &day);
    
    int result = dayOfYear(year, month, day);
    printf("%d\n", result);
    
    return 0;
}

在上面的代码中,我们定义了两个函数。isLeapYear函数用于判断给定年份是否是闰年,根据闰年的条件返回 1 或 0。dayOfYear函数接受年、月、日作为输入,并根据是否是闰年以及每个月的天数计算给定日期是该年中的第几天。

然后,在主程序中,我们使用scanf函数从输入中读取年、月、日,并调用dayOfYear函数计算结果。最后,我们使用printf函数将结果输出到控制台。

您可以运行上述代码,在提示处输入日期,然后代码将会输出给定日期是该年中的第几天。例如,输入日期为2009/03/02,可能会得到以下输出:

图片[1]-计算某年某月某日是该年中的第几天-QQ沐编程

© 版权声明
THE END
喜欢就支持一下吧
点赞8赞赏 分享