北大信科夏令营机试题及详细答案.docxVIP

  • 4
  • 0
  • 约1.04万字
  • 约 13页
  • 2026-06-14 发布于河北
  • 举报

北大信科夏令营机试题及详细答案

第一题:计算两个日期之间的天数(基础模拟题)

题干

输入两个日期(格式:年月日),计算这两个日期之间的天数差(保证输入日期合法,前一个日期不晚于后一个日期)。例如:输入202311和202312,输出1;输入2020228和202031,输出2(2020是闰年)。

解题思路

核心思路:将两个日期都转化为“从某一个固定年份(如0年)到该日期的总天数”,然后用后一个日期的总天数减去前一个日期的总天数,即为天数差。

关键步骤:1.编写闰年判断函数,判断某一年是否为闰年(闰年2月29天,平年28天);2.编写函数计算从固定年份到当前年份的总天数(累加每年的天数);3.计算当前年份中,从年初到当前月份、日期的天数;4.总天数=往年总天数+当年已过天数,最后求差值。

完整代码(C++)

c++

#includeiostream

#includealgorithm

usingnamespacestd;

//判断闰年:能被4整除且不能被100整除,或能被400整除

boolisLeap(intyear){

if((year%4==0year%100!=0)||(year%400==0)){

returntrue;

}

retu

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档