当前位置: 首页 > backend >正文

HJ73 计算日期到天数转换

描述

每一年中都有 1212 个月份。其中,1,3,5,7,8,10,121,3,5,7,8,10,12 月每个月有 3131 天;4,6,9,114,6,9,11 月每个月有 3030 天;而对于 22 月,闰年时有 2929 天,平年时有 2828 天。
现在,对应输入的日期,计算这是这一年的第几天。

一个年份是闰年当且仅当它满足下列两种情况其中的一种:
∙ ∙这个年份是 44 的整数倍,但不是 100100 的整数倍;
∙ ∙这个年份是 400400 的整数倍。

输入描述:

在一行上输入三个整数 a,b,c(1900≦a≦2200)a,b,c(1900≦a≦2200),分别代表年、月、日。保证输入的日期是合法的。

输出描述:

输出一个整数,代表输入的日期是这一年的第几天。

思路

1. 月份天数存储

使用数组存储各月天数,注意索引1对应1月:

int monthday[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

2. 闰年判断

根据闰年规则调整2月天数:

if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {monthday[2] = 29; // 闰年2月29天
}

3. 天数累加

累加前N-1个月的天数,再加上当前月的天数:

int sumday = day; // 当前月天数
for(int i = 1; i < month; i++) {sumday += monthday[i]; // 累加前几个月的天数
}

 完整代码实现

#include <stdio.h>int main() 
{int year, month, day;scanf("%d %d %d", &year, &month, &day);int sumday = day;int monthday[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){monthday[2] = 29;}for(int i = 1; i < month; i++){sumday = sumday + monthday[i];}printf("%d", sumday);return 0;
}
http://www.xdnf.cn/news/10844.html

相关文章:

  • 解决MyBatis参数绑定中参数名不一致导致的错误问题
  • 剑指offer14_二进制中1的个数
  • 谷歌地图免费下载手机版
  • OpenLayers 地图标注之Popup标注
  • 符号执行与SemFix、DirectFix 、Angelix的主要思想
  • 【Bluedroid】蓝牙启动之sdp_init 源码解析
  • Matlab回归预测大合集又更新啦!新增2种高斯过程回归预测模型,已更新41个模型!性价比拉满!
  • SQL 筛选出在表1但不在表2中的数据
  • 消费者行为变革下开源AI智能名片与链动2+1模式S2B2C商城小程序的协同创新路径
  • 大模型:从基座构建到应用落地--预训练与后训练及个人解析-2025.6
  • 【原神 × 二分查找】找出圣遗物强化到暴击的最小尝试次数!
  • vLLM:让大语言模型推理更高效的新一代引擎 —— 原理详解一
  • String 学习总结
  • WPS 利用 宏 脚本拆分 Excel 多行文本到多行
  • 数据可视化有哪些步骤?2025高效落地指南
  • 机器学习与深度学习08-随机森林02
  • 记我的第一个深度学习模型尝试——MNIST手写数字识别
  • 可视化大屏工具对比:GoView、DataRoom、积木JimuBI、Metabase、DataEase、Apache Superset 与 Grafana
  • 使用Redis作为缓存优化ElasticSearch读写性能
  • 各个主要目录的功能 / Linux 常见指令
  • 车载软件架构 --- 软件定义汽车开发模式思考
  • RagFlow优化代码解析
  • 完美解决在pycharm中创建Django项目安装mysqlclient报错的问题(windows下)
  • Read View在MVCC里如何工作
  • 【Pandas】pandas DataFrame rename
  • Spring中@Controller和@RestControlle注解的区别
  • leetcode hot100刷题日记——37.三数之和
  • 光伏功率预测新突破:TCN-ECANet-GRU混合模型详解与复现
  • 网络安全运维实训室建设方案
  • Tauri(2.5.1)+Leptos(0.7.8)开发桌面应用--简单的工作进度管理