万年历表农历查阳历61年3月
-
2024年属牛动土的最佳日子
在2024年,属牛的朋友动土的最佳日子是农历四月初八,此日适合开始新的建设项目,但需避免在农历四月初十动土,以免影响后续运势。 天时地利:吉日的深层次解读 2024年属牛动土的最...
命理知识 2024-12-03 12:27:01 -
2024年属兔出行哪个方向吉日适合
2024年属兔的人在出行时方向与吉日的选择颇为重要。这涉及到传统的黄历宜忌等知识。了解这些有助于属兔者规划行程,趋吉避凶,让出行更加顺遂,下面将详细解析适合属兔者出行的方...
命理知识 2024-12-03 12:22:34 -
2024年属猪破土合适日期的查询
2024年属猪之人若要破土动工,需要查询合适日期。这涉及到黄历中的宜忌,吉日能带来好运顺遂,凶日则可能存在阻碍。下面将详细介绍相关日期的查询,为属猪者提供参考。 破土传统:核...
命理知识 2024-12-03 12:19:14 -
2024年阴历十二月适合开业的吉日
2024年阴历十二月开业,选吉日很关键。这关系到事业起始运势。需依据黄历宜忌判断,吉日有诸多有利因素,凶日则存在阻碍。选对日子可让开业顺遂,为未来发展奠定良好开端。 黄历与...
命理知识 2024-12-03 12:14:52 -
2024年属鸡入宅最佳日期
2024年属鸡入宅最佳日期为农历二月初五,择此日入宅可助未来顺利,需注意吉时和环境的搭配。 在2024年,根据黄历,属鸡人最佳入宅日期为农历二月初五。这一天不仅是良辰吉日,还暗示...
命理知识 2024-12-03 12:11:18 -
2024年属狗开张好日期有哪些
2024年属狗开张的好日期包括吉日和注意事项,谨防不利影响,以确保顺利开张。 选择开张日期是非常重要的,属狗的朋友在2024年尤为需要关注。一个好的开张日期能为事业注入新的活...
命理知识 2024-12-03 12:07:19
【C程序万年历】
#include<stdio.h>
main()
{
intTitle(inty,intm);/*对子函数进行声明*/
inty,i,j,k,Days[12]={31,28,31,30,31,30,31,31,30,31,30,31},Dates[12][6][7];/*定义1个三维数组存放号数*/
charch,Month[6][61]={
"January<一月>February<二月>",
"March<三月>April<四月>",
"May<五月>June<六月>",/*先为日历的打印设置数组并初始化*/
"July<七月>August<八月>",
"September<九月>October<十月>",
"November<十一月>December<十二月>"},
Side[61]={"========================================================"},
Week[61]={"SUNMONTUEWEDTHUFRISATSUNMONTUEWEDTHUFRISAT"};
loop:
printf("请您输入需要查询的年数,且年数不小于1583,以回车键结束:");/*此方法只能准确打印出1583年后的日历*/
scanf("%d",&y),system("cls");/*输入年数后,清空屏幕,等待打印日历*/
if(y>=1583)/*判断年数是否在可执行的范围之内*/
{
if((y%4==0)&&(y%100!=0||y%400==0))Days[1]=29;/*判断年数是否为闰年,是闰年时第2月为29天*/
for(i=0;i<=22;i++)
printf("");/*先打印一定数量的空格使"年标题"靠中对齐*/
switch(y%10)
{
case0:printf("~%d庚",y);break;
case1:printf("~%d辛",y);break;
case2:printf("~%d壬",y);break;
case3:printf("~%d癸",y);break;
case4:printf("~%d甲",y);break;
case5:printf("~%d乙",y);break;
case6:printf("~%d丙",y);break;/*输出对应的天干*/
case7:printf("~%d丁",y);break;
case8:printf("~%d戊",y);break;
case9:printf("~%d已",y);break;
}
switch(y%12)
{
case0:printf("申[猴]年~n");break;
case1:printf("酉[鸡]年~n");break;
case2:printf("戌[狗]年~n");break;
case3:printf("亥[猪]年~n");break;
case4:printf("子[鼠]年~n");break;
case5:printf("丑[牛]年~n");break;
case6:printf("寅[虎]年~n");break;/*输出对应的地支和生肖*/
case7:printf("卯[兔]年~n");break;
case8:printf("辰[龙]年~n");break;
case9:printf("巳[蛇]年~n");break;
case10:printf("午[马]年~n");break;
case11:printf("未[羊]年~n");break;
}
for(i=0;i<12;i++)
for(j=0;j<06;j++)
for(k=0;k<07;k++)
{
if(-Title(y,i+1)==-6)Dates[i][j][k]=1+7*j+k;
elseDates[i][j][k]=-Title(y,i+1)+7*j+k;
}
/*-Title(y,i+1)表示每月1号对应的星期数依次向左递减至星期天时,对应的"虚号",例如:某月1号是星期二,那么"0号"
就是星期一,"-1号"就是星期天,这个"虚号"在后面需要用到,同时超出本月最大号数的日期,也称之为"虚号",反之则称
之为"实号"。[0,12)表示每年12个月,[0,06)表示每月占6行,[0,07)表示每月占7列*/
for(i=0;i<06;i++)
{/*[0,06)表示分为6部份打印,每部份2个月*/
for(j=0;j<61;j++)
printf("%c",Side[j]);printf("n");/*打印边框*/
for(j=0;j<61;j++)
printf("%c",Month[i][j]);printf("n");/*打印每2个月的"月标题"*/
for(j=0;j<61;j++)
printf("%c",Week[j]);printf("n");/*打印每2个月的"周标题"*/
for(j=0;j<06;j++)
{
for(k=0;k<07;k++)
{
if(Dates[2*i+0][j][k]<1||Dates[2*i+0][j][k]>Days[2*i+0])printf("");
elseprintf("%2d",Dates[2*i+0][j][k]);/*表示若遇"虚号"就打印一定数量的空格,遇"实号"就以数字的形式打印出来*/
}
printf("");
for(k=0;k<07;k++)
{/*作用同上,只是打印的是每2个月中的第2个月的日历*/
if(Dates[2*i+1][j][k]<1||Dates[2*i+1][j][k]>Days[2*i+1])printf("");
elseprintf("%2d",Dates[2*i+1][j][k]);/*使用这种方法,可以很容易将日历分为多栏,那时需要更改每次打印的月数*/
}
printf("n");
}
if(i%2==1){getch();continue;}/*每打印2个月暂停一下,按任意键继续,包括Esc在内*/
}
for(i=0;i<61;i++)
printf("%c",Side[i]);printf("n");
for(i=0;i<19;i++)/*打印边框及结束语(版权信息或创作人等)*/
printf("");printf("Copyright<c>IKSCorporationnn");
printf("PressEsc-----退出程序nPressEnter---重新查询n");/*显示菜单选项*/
switch(ch=getch())
{
case27:exit(0);
case13:{system("cls");gotoloop;}
}
}
elseprintf("对不起,请您输入一个不小于1583的年数!");/*不在可执行范围内的年数给予提示*/
getch();/*在一些编译器中运行,用以显示程序运行结果*/
}
intTitle(inty,intm)
{
intt;
if(m==1||m==2)m=m+12,y=y-1;
t=(y/1+y/4-y/100+y/400+2*m+3*(m+1)/5+1)%7;
return(t);/*计算星期数时,用“蔡勒公式”演变而成的计算式子*/
}
万年历表农历查阳历61年3月相关文章: