%3d, );}is_first_week false;}if (next_begin days[i 1]){length sprintf_s(two_monthes_week length, sum 0,30, 200 - length,28,31。
y);for (i 1; iy; i)sum year(i);week (sum 1) % 7;//表示该年1月1日为星期几int next_begin,31 };scanf_s(%d, 200 - length, next_week;if (year(y) 366)days[1] 29;printf(\n%d年日历如下\n\n, 200 - length,30, );}is_first_week false;//只需要第一个星期输出}if (begin days[i])//如果超出了这个月的日期则输出空格{length sprintf_s(two_monthes_week length,30, %s, #include stdafx.h#include stdio.hint year(int y){if ((y % 4 0) (y % 100 ! 0) || y % 400 0)return 366;elsereturn 365;}int main(){int y;int i, t 0;int begin。
%3d。
31, );}next_week;next_begin;}printf(two_monthes_week);printf(\n);week 0;next_week 0;length 0;}}return 0;} , %s, i2);printf( 7 1 2 3 4 5 67 1 2 3 4 5 6 \n );printf( \n);begin 1;next_begin 1;int temp_sum sum;for (int j 0; j i; j){temp_sum (temp_sum days[j]);}week (temp_sum 1) % 7;//当前月的1号是星期几next_week (days[i] week) % 7;//下一个月的1号是星期几//获取两个月中包含的星期数的最大值//第一个月包含的星期数if (week days[i] % 7 0){week_num (week days[i]) / 7;}else{week_num ((week days[i]) / 7) 1;}//第二个月包含的星期数if (next_week days[i1] % 7 0){next_week_num (next_week days[i1]) / 7;}else{next_week_num ((next_week days[i1]) / 7) 1;}//取两个月星期数的最大值if (week_num next_week_num){max_week_num week_num;}else{max_week_num next_week_num;}//循环每个循环为一个星期bool is_first_week true;int length 0;for (int j 0; j max_week_num; j)//遍历每个星期{while ((week % 7 ! 0) || (week 0))//一个星期是否结束{if (is_first_week)//如果是第一个星期则需要输出空格{for (int k 0; k week; k)//输出空格{length sprintf_s(two_monthes_week length, 200 - length, %s,30, 200 - length, max_week_num;//本月和下一个月包含的星期数char two_monthes_week[200] { 0 };for (i 0; i12; i i 2){printf(%d月%d月\n。
i 1, %s, 200 - length,31, next_week_num, begin);}else{length sprintf_s(two_monthes_week length, y);int week_num, 200 - length,31, next_begin);}else{length sprintf_s(two_monthes_week length, j, );}week;begin;}//输出下一个月is_first_week true;length sprintf_s(two_monthes_week length, );while ((next_week % 7 ! 0) || (next_week 0))//一个星期是否结束{if (is_first_week)//如果是第一个星期则需要输出空格{for (int k 0; k next_week; k){length sprintf_s(two_monthes_week length, %s, week;int days[12] { 31,31,。