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.  
  36. int day_of_week(int x){
  37. int day;
  38. x=x+1;
  39. day=x%7;
  40. return day;
  41. }
  42. int main(void) {
  43. int y, m, d, x=0, i, day;
  44. scanf("%d,%d,%d", &y, &m, &d);
  45. for(i=1900; i<y; i++){
  46. if(is_uruu(i)==1){
  47. x=x+366;
  48. }
  49. else{
  50. x=x+365;
  51. }
  52. }
  53. x=x+days_form(y, m, d);
  54. day=day_of_week(x);
  55. switch(day){
  56. case 0:
  57. printf("%d年%d月%d日は日曜日です。", y, m, d);
  58. break;
  59. case 1:
  60. printf("%d年%d月%d日は月曜日です。", y, m, d);
  61. break;
  62. case 2:
  63. printf("%d年%d月%d日は火曜日です。", y, m, d);
  64. break;
  65. case 3:
  66. printf("%d年%d月%d日は水曜日です。", y, m, d);
  67. break;
  68. case 4:
  69. printf("%d年%d月%d日は木曜日です。", y, m, d);
  70. break;
  71. case 5:
  72. printf("%d年%d月%d日は金曜日です。", y, m, d);
  73. break;
  74. case 6:
  75. printf("%d年%d月%d日は土曜日です。", y, m, d);
  76. break;
  77. }
  78. return 0;
  79. }
Success #stdin #stdout 0s 5312KB
stdin
2000,1,1
stdout
2000年1月1日は土曜日です。