fork download
  1. #include <stdio.h>
  2.  
  3. static char daytab[2][13]={
  4. {0,31,28,31,30,31,30,31,31,30,31,30,31},
  5. {0,31,29,31,30,31,30,31,31,30,31,30,31}
  6. };
  7.  
  8. int day_of_year(int year,int month,int day);
  9. void month_day(int year,int yearday);
  10.  
  11. int main(void)
  12. {
  13. int day,mo,dat;
  14.  
  15. day=day_of_year(1988,2,29);
  16. printf("%d\n",day);
  17. month_day(1988,60);
  18. return 0;
  19. }
  20.  
  21. /* day_of_year: set day of year from month & day */
  22.  
  23. int day_of_year(int year,int month,int day)
  24. {
  25. int i,leap;
  26.  
  27. leap = year % 4 == 0 && year%100 != 0 || year%400 == 0;
  28.  
  29. for(i=1;i<month;i++)
  30. day += daytab[leap][i];
  31.  
  32. return day;
  33. }
  34.  
  35. /* month_day: set month,day from day of year */
  36.  
  37. void month_day(int year,int yearday)
  38. {
  39. int i,leap;
  40.  
  41. leap = year % 4 == 0 && year%100 != 0 || year%400 == 0;
  42.  
  43. for(i=1;yearday > daytab[leap][i];i++)
  44. yearday -= daytab[leap][i];
  45.  
  46. printf("Month: %d, Day: %d\n", i, yearday);
  47. }
  48.  
Success #stdin #stdout 0s 4260KB
stdin
Standard input is empty
stdout
60
Month: 2, Day: 29