收藏 分销(赏)

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

上传人:二*** 文档编号:4512802 上传时间:2024-09-26 格式:DOCX 页数:6 大小:43.71KB
下载 相关 举报
万年历的c语言实现源程序.docx_第1页
第1页 / 共6页
本文档共6页,全文阅读请下载到手机保存,查看更方便
资源描述
万年历的C语言编程实现源程序: #include<stdio.h> #include<stdlib.h> int Isleapyear(int y)/*判断是否是闰年*/ { if((y%4==0&&y%100!=0)||(y%400==0)) return 1; else return 0; } int Getdaysofmonth(int y,int m)/*确定某个月的天数*/ { int months[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; if(Isleapyear(y))/*如果是闰年则2月份的天数改变为29*/ months[2]=29; return months[m]; } int Gettotaldays(int y,int m)/*计算从1901年1月开始到给定年月的天数*/ { int months[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; int days=0; int i,j; if((Isleapyear(y))) months[2]=29; for(i=1901;i<y;i++)/*从1901年1月开始计算,累加y年之前的天数*/ { if(Isleapyear(i)) days+=366; else days+=365; } for(j=1;j<m;j++)/*累加m月之后的天数*/ days+=months[j]; return days; } int Getfirstdayintable(int y,int m)/*计算给定年月的第一天在日历表中的位置*/ { int d; d=Gettotaldays(y,m); d=d+3;/*1901年1月1日是星期二,在日历中星期二是第三个位置*/ d=d%7; return d; } void Showdate(int y,int m)/*显示日历*/ { int first; int d; int i,k; first=Getfirstdayintable(y,m);/*得到第一天在日历中的第一个位置*/ d=Getdaysofmonth(y,m);/*得到这个月的天数*/ k=0; printf("-------------------------------------\n"); printf(" SUN MON TUE WEN THU FRI STA\n"); for(i=1;i<first;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"); } int main(){ int y,m; printf("Input year:"); scanf("%d",&y); printf("Input month:"); scanf("%d",&m); Showdate(y,m); return 0; }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服