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 ",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 ",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 %i %i %i ",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 }