网站后台管理系统源代码,php大气企业网站,wordpress博客建设与经营,做pc网站如何实时预览1. 题目描述——HJ73 计算日期到天数转换
牛客网OJ题链接
描述
每一年中都有 12 个月份。其中#xff0c;1,3,5,7,8,10,12 月每个月有 31 天#xff1b; 4,6,9,11 月每个月有 30 天#xff1b;而对于 2 月#xff0c;闰年时有29 天#xff0c;平年时有 28 天。 现在1,3,5,7,8,10,12 月每个月有 31 天 4,6,9,11 月每个月有 30 天而对于 2 月闰年时有29 天平年时有 28 天。 现在对应输入的日期计算这是这一年的第几天。
一个年份是闰年当且仅当它满足下列两种情况其中的一种 ∙这个年份是 4 的整数倍但不是 100 的整数倍 ∙这个年份是 400400 的整数倍。 输入描述 输出描述 输出一个整数代表输入的日期是这一年的第几天。 示例1 输入2012 12 31 输出366 说明:2012 年是闰年因此2012年12月31 日是这一年的第 366 天。 示例2 输入1982 3 4 输出63 2. 思路
之前做过牛客网刷题 ——C语言初阶(5操作符)——BC54 获得月份天数 就是在获取到每个月的基础上在for循环加一下每个月的天数即可
3. 代码实现
#include stdio.hint isLeapYear(int year)
{if((year%40year%100!0)||year%400 0){return 1;}return 0;
}
int main() {int year, mouth,day;int days[] {0, 31,28,31,30,31,30,31,31,30,31,30,31 };while (scanf(%d %d %d, year, mouth,day) ! EOF) { int totalDay day;int day days[mouth];if(isLeapYear(year)mouth2){totalDay1;}int i 0;for(i mouth-1;i0;i--){totalDay days[i];}printf(%d,totalDay);}return 0;
}