# include & ltstdio.h & gt
# include & ltstdlib.h & gt
Int isLeap(int year) //判斷閏年
{
如果(年份%4!=0)
{
返回0;
}
else if(year%100!=0)
{
返回1;
}
否則如果(年%400!=0)
{
返回0;
}
其他
{
返回1;
}
}
Intgetmonthdays (intyear,int month)//判斷天數。
{
開關(月){
案例1:案例3:案例5:案例7:案例8:案例10:案例12:返回31;打破;
情況4:情況6:情況9:情況11:返回30;打破;
情況2:if(isLeap(year)==1)
{
返回29;
}
其他
{
返回28;
};打破;
默認值:返回0;
}
}
Intget weekday (intyear,intmonth,int day)//判斷星期幾。
{
int天;//總天數
int I = 1;//計算月份
int工作日;
天數=(年-1)*365+(年-1)/4+(年-1)/400-(年-1)/100;
while(我& lt月)
{
days+=GetMonthDays(年,I);
i++;
}
天數+=天;
weekday =天數% 7;
返回工作日;
}
void printmonthcalender(int start day,int days)//輸出日歷。
{
int m = 0;//計數為空
int n = 1;//計數日期
while(m & lt;開始日)
{
printf(" ");
m++;
}
while(n & lt;=天)
{
printf("%d ",n);
如果((n+m)%7==0)
{
printf(" \ n ");
}
n++;
}
}
主()
{
int年、月、開始日、天數;
printf("請輸入年月:");
scanf("%d %d ",& amp年份& amp月);
startDay=GetWeekDay(年,月,1)%7。
days=GetMonthDays(年,月);//獲取開始日期和天數
printf("結果是:\ n % d-% d \ n。星期壹周二。星期三周四。星期五星期六\n”,年,月);
PrintMonthCalender(startDay,days);
系統(“暫停”);
返回0;
}
哇卡卡。。終於找到了,我們上個月的作業,哦哦呵呵。。。把它給我