当前位置:首页 » 编程语言 » c语言打印年历

c语言打印年历

发布时间: 2024-01-14 13:26:03

① C语言万年历程序

#include"stdio.h"
#include"stdlib.h"
main( )
{
int Year,Month; //年、月
int FirstDay_Year,FirstDay_Month; //某年的第一天是星期几,某年某月的第一天是星期几(范围是0~6,其中0代表星期日)
int IsLeapYear; //是否为闰年,0表示不是闰年,1表示是闰年
int i,d,y; //临时变量
char YN; //Yes No,程序是否要继续

int Days[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
//Days[1~12]存储每个月有多少天,其中二月的天数是可变的(闰年29天,平年28天),这里初始化为28天

printf(" C语言简单万年历\n"); //打印标题

XunHuan: //循环标号(可以通过goto跳转到这里)

printf("请输入年份: "); //提示输入年份(0~9999)
scanf("%d",&Year); //把输入的年份赋值给变量Year

printf("请输入月份: "); //提示输入月份(1~12)
scanf("%d",&Month); //把输入的月份赋值给变量Month

y=Year;
FirstDay_Year=5*(y/4)+(y%4)-(y/100)+(y/400);//蔡勒公式(计算某年的第一天是星期几)
IsLeapYear=(y%4==4&&y%100!=100||y%400==0)?1:0;
//判断是否为闰年
Days[2]=(IsLeapYear==1)?29:28; //闰年二月29天,非闰年二月28天
for(i=1,d=0;i<Month;i++)
d=d+Days[i];
FirstDay_Month=(d+FirstDay_Year)%7; //当月的第一天是星期几(0代表星期日)

printf("\n****************************************************\n");
printf("\t\t公元 %d 年 %2d 月",Year,Month); //打印年月
printf("\n****************************************************\n");

printf(" 星期日 星期一 星期二 星期三 星期四 星期五 星期六\n");
//打印星期表头
for(i=0;i<FirstDay_Month;i++)
printf("%7c",' '); //当某月的第一天不是星期日时打印空格占位

for(d=1;d<=Days[Month];d++) //循环,从每个月的第一天开始打印
{
printf("%7d",d);
if(((d+FirstDay_Month)%7)==0 && d<Days[Month])
printf("\n"); //当输出了星期六而且还未输出所有天数时,换行
}
printf("\n****************************************************\n");
printf("\n");
printf("是否继续(Y/N)?\n");
scanf("%c",&YN);
scanf("%c",&YN);
if(YN=='Y' || YN=='y')
goto XunHuan;
}

热点内容
机加工的编程 发布:2024-11-30 00:31:19 浏览:726
坦克世界电脑什么配置 发布:2024-11-30 00:30:41 浏览:316
如何在手机设置上找到网络的密码 发布:2024-11-30 00:18:29 浏览:413
和鹰加密锁 发布:2024-11-30 00:17:17 浏览:555
C语言舞会 发布:2024-11-30 00:15:44 浏览:376
java下载我的世界 发布:2024-11-30 00:11:08 浏览:11
华三配置器升级失败怎么回事 发布:2024-11-30 00:09:23 浏览:841
汽车空调压缩机寿命 发布:2024-11-30 00:06:04 浏览:566
电脑网络波动异常与服务器失去连接 发布:2024-11-29 23:43:19 浏览:246
个人电脑与服务器架构类似 发布:2024-11-29 23:40:59 浏览:704