万年历的c语言实现源程序.docx

上传人:b****1 文档编号:232668 上传时间:2022-10-07 格式:DOCX 页数:6 大小:42.67KB
下载 相关 举报
万年历的c语言实现源程序.docx_第1页
第1页 / 共6页
万年历的c语言实现源程序.docx_第2页
第2页 / 共6页
万年历的c语言实现源程序.docx_第3页
第3页 / 共6页
万年历的c语言实现源程序.docx_第4页
第4页 / 共6页
万年历的c语言实现源程序.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

万年历的c语言实现源程序.docx

《万年历的c语言实现源程序.docx》由会员分享,可在线阅读,更多相关《万年历的c语言实现源程序.docx(6页珍藏版)》请在冰豆网上搜索。

万年历的c语言实现源程序.docx

万年历的C语言编程实现源程序:

#include

#include

intIsleapyear(inty)/*判断是否是闰年*/

{

if((y%4==0&&y%100!

=0)||(y%400==0))

return1;

else

return0;

}

intGetdaysofmonth(inty,intm)/*确定某个月的天数*/

{

intmonths[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

if(Isleapyear(y))/*如果是闰年则2月份的天数改变为29*/

months[2]=29;

returnmonths[m];

}

intGettotaldays(inty,intm)/*计算从1901年1月开始到给定年月的天数*/

{

intmonths[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

intdays=0;

inti,j;

if((Isleapyear(y)))

months[2]=29;

for(i=1901;i

{

if(Isleapyear(i))

days+=366;

else

days+=365;

}

for(j=1;j

days+=months[j];

returndays;

}

intGetfirstdayintable(inty,intm)/*计算给定年月的第一天在日历表中的位置*/

{

intd;

d=Gettotaldays(y,m);

d=d+3;/*1901年1月1日是星期二,在日历中星期二是第三个位置*/

d=d%7;

returnd;

}

voidShowdate(inty,intm)/*显示日历*/

{

intfirst;

intd;

inti,k;

first=Getfirstdayintable(y,m);/*得到第一天在日历中的第一个位置*/

d=Getdaysofmonth(y,m);/*得到这个月的天数*/

k=0;

printf("-------------------------------------\n");

printf("SUNMONTUEWENTHUFRISTA\n");

for(i=1;i

{

printf("");

k++;/*k用于确定日历中是否回车*/

}

for(i=1;i<=d;i++)

{

printf("%5d",i);/*每个具体的日期占5个字符的宽度*/

k++;

if(k==7)/*每行打印7个日期数字后回车*/

{

printf("\n");

k=0;

}

}

printf("\n-------------------------------------\n");

}

intmain(){

inty,m;

printf("Inputyear:

");

scanf("%d",&y);

printf("Inputmonth:

");

scanf("%d",&m);

Showdate(y,m);

return0;

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1