沧州网站设计多少钱,wordpress漫画站,浏览器打不开网页但能上网,服务器做视频网站吗#x1f525;承渊政道#xff1a;个人主页 ❄️个人专栏: 《C语言基础语法知识》 《数据结构与算法初阶》《C初阶知识内容》 ✨逆境不吐心中苦,顺境不忘来时路! #x1f3ac; 博主简介: 引言:前篇文章,小编已经将我所学的C类和对象的相关知识介绍完了,俗话说的好,温故知新,…承渊政道个人主页❄️个人专栏:《C语言基础语法知识》 《数据结构与算法初阶》《C初阶知识内容》✨逆境不吐心中苦,顺境不忘来时路! 博主简介:引言:前篇文章,小编已经将我所学的C类和对象的相关知识介绍完了,俗话说的好,温故知新,可以为师矣.那么本篇文章让我们通过做题全面解析C类和对象,加深自己对知识的理解!废话不多说,带着这些疑问,下面跟着小编的节奏一起学习吧目录1.选择题(全面解析)2.编程题(全面解析)2.1计算日期到天数转换2.2日期差值2.3打印日期2.4日期累加1.选择题(全面解析)2.编程题(全面解析)2.1计算日期到天数转换#includeiostreamusingnamespacestd;// 判断是否为闰年boolisLeap(intyear){// 闰年规则能被4整除且不能被100整除或能被400整除return(year%40year%100!0)||(year%4000);}intmain(){intyear,month,day;// 输入年、月、日需确保输入为合法日期cinyearmonthday;intmonths[12]{31,28,31,30,31,30,31,31,30,31,30,31};// 闰年则修改2月天数为29if(isLeap(year)){months[1]29;}// 累加前month-1个月的总天数inttotalDays0;for(inti0;imonth-1;i){totalDaysmonths[i];}totalDaysday;// 输出结果couttotalDaysendl;return0;}2.2日期差值#includeiostream#includestring#includecmathusingnamespacestd;// 判断闰年boolisLeap(intyear){return(year%40year%100!0)||(year%4000);}// 计算dateYYYYMMDD对应的“当年第几天”intdateToDayOfYear(intdate){intyeardate/10000;intmonth(date/100)%100;intdaydate%100;intmonths[12]{31,28,31,30,31,30,31,31,30,31,30,31};if(isLeap(year)){months[1]29;}inttotal0;for(inti0;imonth-1;i){totalmonths[i];}returntotalday;}// 计算两个日期YYYYMMDD之间的天数差intdateDiff(intdate1,intdate2){// 确保date1 date2方便计算if(date1date2){swap(date1,date2);}intyear1date1/10000;intyear2date2/10000;intday1dateToDayOfYear(date1);intday2dateToDayOfYear(date2);inttotal0;// 处理中间完整的年份for(intyyear11;yyear2;y){totalisLeap(y)?366:365;}// 处理year1剩余的天数 year2已过的天数if(year1year2){totalday2-day11;// 同一年直接相减1如12到22是11天}else{intdaysInYear1isLeap(year1)?366:365;total(daysInYear1-day11)day2;}returntotal;}intmain(){intdate1,date2;// 多组输入直到输入结束while(cindate1date2){coutdateDiff(date1,date2)endl;}return0;}2.3打印日期#includeiostreamusingnamespacestd;// 判断是否为闰年boolisLeap(intyear){return(year%40year%100!0)||(year%4000);}intmain(){inty,n;// 处理多组输入while(cinyn){// 平年各月天数索引0对应1月intmonths[]{31,28,31,30,31,30,31,31,30,31,30,31};// 闰年修改2月天数if(isLeap(y)){months[1]29;}intmonth1;// 推算月份和日期for(;month12;month){if(nmonths[month-1]){break;}n-months[month-1];}// 按yyyy-mm-dd格式输出补前导零printf(%04d-%02d-%02d\n,y,month,n);}return0;}2.4日期累加#includeiostreamusingnamespacestd;// 判断闰年boolisLeap(intyear){return(year%40year%100!0)||(year%4000);}// 获取指定年、月的天数intgetDays(intyear,intmonth){switch(month){case1:case3:case5:case7:case8:case10:case12:return31;case4:case6:case9:case11:return30;case2:returnisLeap(year)?29:28;default:return0;// 无效月份实际不会触发}}intmain(){intm;cinm;// 样例个数while(m--){inty,mon,d,add;cinymondadd;dadd;// 累加天数到“日”// 调整日期至合法范围while(true){intdaysgetDays(y,mon);if(ddays)break;// 日合法退出循环d-days;// 减去当月天数mon;if(mon12){// 月份超12年份进位y;mon1;}}// 按格式输出printf(%04d-%02d-%02d\n,y,mon,d);}return0;}敬请期待下一篇文章内容–C内存管理!