万年历表农历查阳历61年3月
-
2021年3月宝宝乳名
现鼠年的3月份已经过去,马上要迎来的是2021年的3月份,选择在牛年3月份出生的宝宝,家长可利用3月份元素给其取名,那怎么取了,可参考下文。【根据2021年3月的节日取名】...
新生儿起名 2021-02-16 16:02:45 -
2021年3月16日出生的宝宝命好不好,二月初四的孩子八字起名字
父母们就经常会利用三才来起名字,这样方法也是得到了科学上的认证,如果名字起的到会对孩子各个方面的运势都有提升,在给宝宝起名字的时候也是一样的,我们为了宝宝在今后使用名字...
起名知识 2019-11-23 11:52:38 -
2021年3月18日出生的孩子命运好吗,二月初六的宝宝八字起名字
怎么起名字也是有很大的学问的,比如说父母们可以给孩子们起到好的名字增添孩子日后的运势,这是因为先天八字命局有缺陷,如果名字能够起到扶助的作用,也会有一个好的人生,所以我们...
起名知识 2019-11-19 12:44:52 -
2021年3月20日出生的宝宝是什么命,二月初八的孩子怎么起名字
一个人出生后,客观环境所反应的同时会和身边的很多不确定性因素结合起来,也就是说后天变数是很大的,所以我们在给宝宝起名字的时候不要乱使用一些字词,因为父母们认为这样才可以...
起名知识 2019-11-17 13:56:07 -
2021年3月15日出生的孩子命运好吗,二月初三的宝宝八字起名字
父母们一般都会给宝宝起个好名字的,好名字对宝宝将来的发展、以及性格方面都会起到促进作用。名字是需要长期使用到的称呼,所以我们在给宝宝起名字的时候一定要结合各种因素来...
起名知识 2019-11-02 09:41:16
【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月相关文章: