C++编程《第11课 日期模拟》教学课件.pptxVIP

  • 0
  • 0
  • 约2.53千字
  • 约 14页
  • 2026-03-10 发布于广西
  • 举报

C++编程《第11课 日期模拟》教学课件.pptx

第11课日期模拟

学习目标通过练习掌握不同类型的关于日期的模拟算法题目的解法

课堂练习

给定一个年份y和一个整数d,问这一年的第d天是几月几日?注意闰年的2月有29天。满足下面条件之一的是闰年:1、年份是4的整数倍,而且不是100的整数倍;2、年份是400的整数倍。课堂练习1

参考代码#includeiostreamusingnamespacestd;intday[13]={0,31,0,31,30,31,30,31,31,30,31,30,31};boolcheck(intn)//判断闰年{if(n%400==0||(n%4==0n%100!=0)) returntrue;returnfalse; }intmain(){intm,n;cinmn;if(check(m))day[2]=29;elseday[2]=28;for(intj=1;j=12;j++){ n-=day[j];if(n0){coutjendlday[j]+n;break;}if(n==0){coutjendlday[j];break;}} return0;}

输入一个的日期,输出它和2014年5月17日相差有多少天?注意闰年的2月有29天。满足下面条件之一的是闰年:1、年份是4的整数倍,而且不是100的整数倍;2、年份是400的整数倍。课堂练习2

参考代码#includeiostreamusingnamespacestd;intday[13]={0,31,0,31,30,31,30,31,31,30,31,30,31};boolcheck(intk)//判断闰年{if(k%400==0||(k%4==0k%100!=0))returntrue;returnfalse; }intsum;//计算总天数intmain(){intm,n,d;cinmnd;if(check(m))day[2]=29;elseday[2]=28;for(inti=m+1;i2014;i++)//计算完整的年份天数{

参考代码if(check(i))sum+=366;elsesum+=365;}if(m==2014){for(inti=n+1;i5;i++)//计算完整的月份的天数 sum+=day[i];if(n==5)sum+=17-d;else sum+=day[n]-d+17; }else{ sum+=137;//2014.1.1~2014.5.17总天数 for(inti=n+1;i=12;i++)//算上完整月份天数 sum+=day[i]; sum+=day[n]-d;}coutsumendl;return0;}

计算从1900年1月1日开始,到1900+n-1年12月31日,每个月的13号是星期六,星期日,星期一,星期二,星期三,星期四以及星期五的天数分别是多少。?1、1900年1月1日是星期一。?2、闰年2月有29天,平年2月有28天,闰年是指年份是4的倍数但不是100的倍数,或者是400的倍数。3、输出请从周六开始。课堂练习3

参考代码#includeiostreamusingnamespacestd;intday[13]={0,31,0,31,30,31,30,31,31,30,31,30,31};intans[8];//求结果intsum;//求总天数boolcheck(intn)//判断闰年{if(n%400==0||(n%4==0n%100!=0)) returntrue;returnfalse; }intmain(){intn;cinn;for(inti=1900;i=1900+n-1;i++){

参考代码if(check(i))day[2]=29;elseday[2]=28

文档评论(0)

1亿VIP精品文档

相关文档