资源预览内容
第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
亲,该文档总共4页全部预览完了,如果喜欢就下载吧!
资源描述
C+ 日历题目:小明考试遇见活了多少天这个题,遗憾的是没有做出来,但是经过考试后的讲解小明已经完全懂得了这个题,并且会熟练的做出此题,还保证以后遇见此类题,一定能够做出来。并且还想在做一次。已知1990年1月1日为星期一。设计一函数按照下述格式打印1990年以后(含)某年某月的日历,1990年以前的拒绝打印。为完成此函数,设计必要的辅助函数可能也是必要的。其中输入为年分和月份。输入:输入数据包含多组,每组有两个整数m,n。m(m 1990)表示年份,n表示月份,输入数据保证合法。如:2010 9输出:对于每组输出数据,按照题目中的格式输出,日历中每个数字占三列。如:参考代码:#include#includeusing namespace std;/1990年1月1号是星期一int nyear(int year) /判断是闰年还是平年 if (year % 4 = 0 & year % 100 != 0) | year % 400 = 0) return 366; else return 365;int nmonth(int y, int m) /根据年份和月份判断是哪一个月的天数 if (m = 1 | m = 3 | m = 5 | m = 7 | m = 8 | m = 10 | m = 12) return 31; else if (nyear(y) = 366 & m = 2) return 29; else if (nyear(y) = 365 & m = 2) return 28; else return 30;int GetDays(int year, int month) /输入年份和月份确定到1990.1.1总共多少天 int i = 0; int sum = 0; if (year1990) for (i = 1990; i 1) for (i = 1; i year month) sum = GetDays(year, month); day = (sum + 1) % 7; /得出一个月第一行前要空几格 daycount = nmonth(year, month); /算出这一个月的天数 cout - endl; cout Su Mo Tu We Th Fr Sa endl; cout - endl; for (i = 0; i day; i+) cout setw(3) ; for (i = 1, j = day + i; i = daycount; i+, j+) cout setw(3) i; if (j % 7 = 0) cout endl; if(day!=4&daycount!=31) cout endl; cout - endl; return 0;4
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号