fork download
  1. #include <stdio.h>
  2.  
  3. int is_uruu(int year){
  4. if(year%400==0){
  5. return 29;
  6. }else if(year%100==0){
  7. }else if(year%4==0){
  8. return 29;
  9. }
  10. return 28;
  11. }
  12.  
  13. int maxday_of_month(int y,int m){
  14. if(m==2){
  15. return is_uruu(y);
  16. }else if(m==4||m==6||m==9||m==11){
  17. return 30;
  18. }else{
  19. return 31;
  20. }
  21. }
  22.  
  23. int days_from(int y,int m,int d){
  24. int i,j,sum;
  25. sum=d-1;
  26. for(j=1900;j<y;j++){
  27. for(i=1;i<13;i++){
  28. sum=sum+maxday_of_month(j,i);
  29. }
  30. }
  31. for(i=1;i<m;i++){
  32. sum=sum+maxday_of_month(y,i);
  33. }
  34. return sum;
  35. }
  36.  
  37. int main(void) {
  38. int y,m,d;
  39. scanf("%d",&y);
  40. scanf("%d",&m);
  41. scanf("%d",&d);
  42. printf("西暦%d年%d日%d日から西暦1900年1月1日は%d日離れています。",y,m,d,days_from(y,m,d));
  43. return 0;
  44. }
  45.  
Success #stdin #stdout 0s 5288KB
stdin
2002
1
1
stdout
西暦2002年1日1日から西暦1900年1月1日は37255日離れています。