C语言实现:万年历

       经过近这几天的努力,终于写完了这个"万年历"的程序了,共享一下, 特别是同"勉"共享  

 

[需求]

    请打印出任意年份的日历

 

[代码]

 

#include #define LMonth 31 #define SMonth 30 #define VMonth 28 typedef enum { Sun, Mon, Jue, Wed, Thu, Fri, Sat } WEEK; typedef enum { January = 1, February, Match, Apirl, May, June, July, August, September, October, November, December } MONTH; void printMonHead(void) { printf(" Sun Mon Jue Wed Thu Fri Sat/n"); } void printMonth(const WEEK firstDay, int length ) { WEEK weekDay = firstDay % 7; int i; printMonHead(); for (i=0; i

 

 

输出

 

Please enter which Year to Print For You (0 to quit): 1973

 

 

 

 

 

-------------------------------------------------

                     1946, 1                     

-------------------------------------------------

    Sun    Mon    Jue    Wed    Thu    Fri    Sat

                    1      2      3      4      5

      6      7      8      9     10     11     12

     13     14     15     16     17     18     19

     20     21     22     23     24     25     26

     27     28     29     30     31

 

 

-------------------------------------------------

                     1946, 2                     

-------------------------------------------------

    Sun    Mon    Jue    Wed    Thu    Fri    Sat

                                         1      2

      3      4      5      6      7      8      9

     10     11     12     13     14     15     16

     17     18     19     20     21     22     23

     24     25     26     27     28

 

 

-------------------------------------------------

                     1946, 3                     

-------------------------------------------------

    Sun    Mon    Jue    Wed    Thu    Fri    Sat

                                         1      2

      3      4      5      6      7      8      9

     10     11     12     13     14     15     16

     17     18     19     20     21     22     23

     24     25     26     27     28     29     30

     31

 

 

-------------------------------------------------

                     1946, 4                     

-------------------------------------------------

    Sun    Mon    Jue    Wed    Thu    Fri    Sat

             1      2      3      4      5      6

      7      8      9     10     11     12     13

     14     15     16     17     18     19     20

     21     22     23     24     25     26     27

     28     29     30

 

 

-------------------------------------------------

                     1946, 5                     

-------------------------------------------------

    Sun    Mon    Jue    Wed    Thu    Fri    Sat

                           1      2      3      4

      5      6      7      8      9     10     11

     12     13     14     15     16     17     18

     19     20     21     22     23     24     25

     26     27     28     29     30     31

 

 

-------------------------------------------------

                     1946, 6                     

-------------------------------------------------

    Sun    Mon    Jue    Wed    Thu    Fri    Sat

                                                1

      2      3      4      5      6      7      8

      9     10     11     12     13     14     15

     16     17     18     19     20     21     22

     23     24     25     26     27     28     29

     30

 

 

-------------------------------------------------

                     1946, 7                     

-------------------------------------------------

    Sun    Mon    Jue    Wed    Thu    Fri    Sat

             1      2      3      4      5      6

      7      8      9     10     11     12     13

     14     15     16     17     18     19     20

     21     22     23     24     25     26     27

     28     29     30     31

 

 

-------------------------------------------------

                     1946, 8                     

-------------------------------------------------

    Sun    Mon    Jue    Wed    Thu    Fri    Sat

                                  1      2      3

      4      5      6      7      8      9     10

     11     12     13     14     15     16     17

     18     19     20     21     22     23     24

     25     26     27     28     29     30     31

 

 

 

-------------------------------------------------

                     1946, 9                     

-------------------------------------------------

    Sun    Mon    Jue    Wed    Thu    Fri    Sat

      1      2      3      4      5      6      7

      8      9     10     11     12     13     14

     15     16     17     18     19     20     21

     22     23     24     25     26     27     28

     29     30

 

 

-------------------------------------------------

                     1946, 10                     

-------------------------------------------------

    Sun    Mon    Jue    Wed    Thu    Fri    Sat

                    1      2      3      4      5

      6      7      8      9     10     11     12

     13     14     15     16     17     18     19

     20     21     22     23     24     25     26

     27     28     29     30     31

 

 

-------------------------------------------------

                     1946, 11                     

-------------------------------------------------

    Sun    Mon    Jue    Wed    Thu    Fri    Sat

                                         1      2

      3      4      5      6      7      8      9

     10     11     12     13     14     15     16

     17     18     19     20     21     22     23

     24     25     26     27     28     29     30

 

 

 

-------------------------------------------------

                     1946, 12                     

-------------------------------------------------

    Sun    Mon    Jue    Wed    Thu    Fri    Sat

      1      2      3      4      5      6      7

      8      9     10     11     12     13     14

     15     16     17     18     19     20     21

     22     23     24     25     26     27     28

     29     30     31

 

你可能感兴趣的:(C语言实现:万年历)