C语言实现日历输出

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语⾔实现⽇历输出这个还是挺实⽤的。

头⽂件:
#ifndef MAIN_H
#define MAIN_H
#include "stdio.h"
#include "math.h"
#include "stdlib.h"
//获取某⼀个⽉的最⼤天数
int monthday(int,int );
//判断闰年 ,是返回1,不是返回0
int isleapyear(int );
#endif
主函数:
#include "main.h"
int main()
{
int year,month,days,weekday;
int i,d;
while(1)
{
printf("please input the year:\n");
scanf("%d",&year);
days = year-1+(year-1)/400+(year-1)/4-(year-1)/100;//计算某年第⼀天是星期⼏
for(month=1;month<=12;month++)
{
printf("\t\t****%d年--%d⽉****\n",year,month);
printf("sun\tmon\ttues\twed\tthur\tfir\tsat\t\n");//表头
i = 1; d = 1;
weekday = (days + 1)%7; //求星期⼏
while(i<=weekday) //输出前⾯的空格
{
printf("\t");
i++;
}
while(d<=monthday(month,year)) //输出⽇期
{
weekday = (days + 1)%7;
if(weekday==6) //最后⼀个是星期六,输出之后要换⾏
printf("%d\n",d);
else//不是星期六的输出后不换⾏
printf("%d\t",d);
if(d==monthday(month,year))
printf("\n");
d++;
days++;
}
}
}
}
功能函数实现:
#include "main.h"
int monthday(int month,int year)
{
switch(month)
{
case1:
case3:
case5:
case7:
case8:
case10:
case12:
return31;break;
case4:
case6:
case9:
case11:
return30;break;
case2:
if(isleapyear(year))
{
return29;//闰年29天
break;
}
else
{
return28;
break;
}
}
}
int isleapyear(int year)
{
if((year%4==0)&&(year%100!=0)||(year%400==0))
return1;
else
return0;
}
效果图:。

相关文档
最新文档