1 /*
2 * Main.c
3 * B13-分支-13. 计算天数
4 * Created on: 2014年6月12日
5 * Author: Boomkeeper
6 *
7 ******测试又是木有完全通过啊*********
8 */
9
10 #include <stdio.h>
11 #include <stdlib.h>
12
13 #define JANUARY 31
14 #define FEBRUARY 28
15 #define MARCH 31
16 #define APRIL 30
17 #define MAY 31
18 #define JUNE 30
19 #define JULY 31
20 #define AUGUST 31
21 #define SEPTEMBER 30
22 #define OCTOBER 31
23 #define NOVEMBER 30
24
25 int day_of_year;
26 int year,month,day;
27
28 void output_leap_year()
29 {
30 if(month==1)
31 day_of_year=day;
32 if(month==2)
33 day_of_year=JANUARY+day;
34 if(month==3)
35 day_of_year=JANUARY+FEBRUARY+day+1;
36 if(month==4)
37 day_of_year=JANUARY+FEBRUARY+MARCH+day+1;
38 if(month==5)
39 day_of_year=JANUARY+FEBRUARY+MARCH+APRIL+day+1;
40 if(month==6)
41 day_of_year=JANUARY+FEBRUARY+MARCH+APRIL+MAY+day+1;
42 if(month==7)
43 day_of_year=JANUARY+FEBRUARY+MARCH+APRIL+MAY+JUNE+day+1;
44 if(month==8)
45 day_of_year=JANUARY+FEBRUARY+MARCH+APRIL+MAY+JUNE+JULY+day+1;
46 if(month==9)
47 day_of_year=JANUARY+FEBRUARY+MARCH+APRIL+MAY+JUNE+JULY+AUGUST+day+1;
48 if(month==10)
49 day_of_year=JANUARY+FEBRUARY+MARCH+APRIL+MAY+JUNE+JULY+AUGUST+SEPTEMBER+day+1;
50 if(month==11)
51 day_of_year=JANUARY+FEBRUARY+MARCH+APRIL+MAY+JUNE+JULY+AUGUST+SEPTEMBER+OCTOBER+day+1;
52 if(month==12)
53 day_of_year=JANUARY+FEBRUARY+MARCH+APRIL+MAY+JUNE+JULY+AUGUST+SEPTEMBER+OCTOBER+NOVEMBER+day+1;
54
55 printf("%i\n",day_of_year);
56 }
57
58 void output_non_leap()
59 {
60 if(month==1)
61 day_of_year=day;
62 if(month==2)
63 day_of_year=JANUARY+day;
64 if(month==3)
65 day_of_year=JANUARY+FEBRUARY+day;
66 if(month==4)
67 day_of_year=JANUARY+FEBRUARY+MARCH+day;
68 if(month==5)
69 day_of_year=JANUARY+FEBRUARY+MARCH+APRIL+day;
70 if(month==6)
71 day_of_year=JANUARY+FEBRUARY+MARCH+APRIL+MAY+day;
72 if(month==7)
73 day_of_year=JANUARY+FEBRUARY+MARCH+APRIL+MAY+JUNE+day;
74 if(month==8)
75 day_of_year=JANUARY+FEBRUARY+MARCH+APRIL+MAY+JUNE+JULY+day;
76 if(month==9)
77 day_of_year=JANUARY+FEBRUARY+MARCH+APRIL+MAY+JUNE+JULY+AUGUST+day;
78 if(month==10)
79 day_of_year=JANUARY+FEBRUARY+MARCH+APRIL+MAY+JUNE+JULY+AUGUST+SEPTEMBER+day;
80 if(month==11)
81 day_of_year=JANUARY+FEBRUARY+MARCH+APRIL+MAY+JUNE+JULY+AUGUST+SEPTEMBER+OCTOBER+day;
82 if(month==12)
83 day_of_year=JANUARY+FEBRUARY+MARCH+APRIL+MAY+JUNE+JULY+AUGUST+SEPTEMBER+OCTOBER+NOVEMBER+day;
84
85 printf("%i\n",day_of_year);
86 }
87 int main()
88 {
89 char m,n;
90
91 scanf("%4i %c %2i %c %2i",&year,&m,&month,&n,&day);
92 printf("input successful\n%i %i %i\n",year,month,day);
93
94 if(month<=0 || day<=0)
95 exit(0);
96 if(month>12 || day>31)
97 exit(0);
98
99 if((year%4==0) && (year%400!=0))
100 {
101 //闰年
102 output_leap_year();
103 }
104 else
105 {
106 if(year%400==0)
107 {
108 //还是闰年
109 output_leap_year();
110 }
111 else
112 {
113 //不是闰年
114 output_non_leap();
115 }
116 }
117
118 return 0;
119 }