fork download
  1. #include <stdio.h>
  2.  
  3. int is_uruu(int y){
  4. if(((y%4==0)&&(y%100!=0))||(y%400==0)){
  5. return 1;
  6. }
  7. else{
  8. return 0;
  9. }
  10. }
  11.  
  12. int maxday_of_month(int y, int m){
  13. if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)
  14. return 31;
  15. else if(m==4||m==6||m==9||m==11)
  16. return 30;
  17. else{
  18. if(is_uruu(y)==1)
  19. return 29;
  20. else
  21. return 28;
  22. }
  23. }
  24.  
  25. int days_form(int y, int m, int d){
  26. int i, sum=0;
  27. for(i=1; i<m; i++){
  28. maxday_of_month(y, i);
  29. sum=sum+(maxday_of_month(y, i)-1);
  30. }
  31. sum=sum+1*(m-1);
  32. sum=sum+(d-1);
  33. return sum;
  34. }
  35. int main(void) {
  36. int y, m, d, x=0, i;
  37. scanf("%d,%d,%d", &y, &m, &d);
  38. for(i=1900; i<y; i++){
  39. if(is_uruu(i)==1){
  40. x=x+366;
  41. }
  42. else{
  43. x=x+365;
  44. }
  45. }
  46. x=x+days_form(y, m, d);
  47. printf("1900年1月1日と%d年%d月%d日の差は%d日です。", y, m, d, x);
  48.  
  49.  
  50. return 0;
  51. }
  52.  
Success #stdin #stdout 0.01s 5316KB
stdin
2002,1,1
stdout
1900年1月1日と2002年1月1日の差は37255日です。