万年历表农历查阳历61年3月

    万年历表农历查阳历61年3月,C程序万年历

    【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月相关文章:

  • 万年历表农历查阳历

    万年历表农历查阳历

    万年历表是传统的日历表之一,既包括阴历,又包括阳历。通过农历查阳历功能,可以迅速地查询所需阳历日期。本文将从多个方面详细说明万年历表农历查阳历功能的作用以及使用方...

    起名知识 2023-06-29 01:48:44
  • 2021年3月宝宝乳名

    2021年3月宝宝乳名

    现鼠年的3月份已经过去,马上要迎来的是2021年的3月份,选择在牛年3月份出生的宝宝,家长可利用3月份元素给其取名,那怎么取了,可参考下文。【根据2021年3月的节日取名】...

    新生儿起名 2021-02-16 16:02:45
  • 2021年3月16日出生的宝宝命好不好,二月初四的孩子八字起名字

    2021年3月16日出生的宝宝命好不好,二月初四的孩子八字起名字

    父母们就经常会利用三才来起名字,这样方法也是得到了科学上的认证,如果名字起的到会对孩子各个方面的运势都有提升,在给宝宝起名字的时候也是一样的,我们为了宝宝在今后使用名字...

    起名知识 2019-11-23 11:52:38
  • 2021年3月18日出生的孩子命运好吗,二月初六的宝宝八字起名字

    2021年3月18日出生的孩子命运好吗,二月初六的宝宝八字起名字

    怎么起名字也是有很大的学问的,比如说父母们可以给孩子们起到好的名字增添孩子日后的运势,这是因为先天八字命局有缺陷,如果名字能够起到扶助的作用,也会有一个好的人生,所以我们...

    起名知识 2019-11-19 12:44:52
  • 2021年3月20日出生的宝宝是什么命,二月初八的孩子怎么起名字

    2021年3月20日出生的宝宝是什么命,二月初八的孩子怎么起名字

    一个人出生后,客观环境所反应的同时会和身边的很多不确定性因素结合起来,也就是说后天变数是很大的,所以我们在给宝宝起名字的时候不要乱使用一些字词,因为父母们认为这样才可以...

    起名知识 2019-11-17 13:56:07
  • 2021年3月15日出生的孩子命运好吗,二月初三的宝宝八字起名字

    2021年3月15日出生的孩子命运好吗,二月初三的宝宝八字起名字

    父母们一般都会给宝宝起个好名字的,好名字对宝宝将来的发展、以及性格方面都会起到促进作用。名字是需要长期使用到的称呼,所以我们在给宝宝起名字的时候一定要结合各种因素来...

    起名知识 2019-11-02 09:41:16

推荐信息