c语言输入年份月份输出日历(c语言输入某年某月输出日历)

由用户输入一个年份,计算机将根据用户输入的年份输出这一年所有月份的日历。关键是要确定该年是否是闰年,以及求某个月第一天是星期几。

运行效果:

c语言输入年份月份输出日历(c语言输入某年某月输出日历)

代码:

#include <stdio.h>

#include <stdlib.h>

int monthDay(int,int);//获取某个月的天数

int isLeapYear(int);//判断某一年是否是闰年

int main()

{

int days,weekDay,year,month=1,d,i;

printf("请输入年:n");

scanf("%d",&year);

//计算某一年某个月第一天星期几

days=year-1+(year-1)/400+(year-1)/4-(year-1)/100;

while(month<=12)

{

printf("%d-%dn",year,month);

printf("SuntMontTuestWedtThurtFirtSatn");

d=1,i=1;

weekDay=(days+1)%7;//求星期几

while(i<=weekDay)

{

printf("t");

i++;

}

while(d<=monthDay(month,year))

{

weekDay=(days+1)%7;

if(weekDay==6)

printf("%dn",d);

else

printf("%dt",d);

if(d==monthDay(month,year))

printf("n");

d++;

days++;

}

month++;

printf("n");

}

system("pause");

return 0;

}

int monthDay(int month, int year)

{

switch(month)

{

case 1:case 3:case 5:case 7:case 8:case 10:case 12:

return 31;

break;

case 4:case 6:case 9:case 11:

return 30;

break;

case 2:

if((IsLeapYear(year))==1)

return 29;

else

return 28;

break;

}

}

int IsLeapYear(int year)

{

if((year%4==0)&&(year%100!=0))

return 1;

if(year%400==0)

return 1;

return 0;

}

-End-

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论