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. printf(" Su Mo Tu We Th Fr Sa\n");
  46. for(i=1900; i<y; i++){
  47. if(is_uruu(i)==1){
  48. x=x+366;
  49. }
  50. else{
  51. x=x+365;
  52. }
  53. }
  54. x=x+days_form(y, m, d);
  55. day=day_of_week(x);
  56. switch(day){
  57. case 0:
  58. printf(" 1 2 3 4 5 6 7\n);
  59. for(i=8; i<=maxday_of_month(y, m); i++){
  60.  
  61. }
  62. break;
  63. case 1:
  64. printf("%d年%d月%d日は月曜日です。", y, m, d);
  65. break;
  66. case 2:
  67. printf("%d年%d月%d日は火曜日です。", y, m, d);
  68. break;
  69. case 3:
  70. printf("%d年%d月%d日は水曜日です。", y, m, d);
  71. break;
  72. case 4:
  73. printf("%d年%d月%d日は木曜日です。", y, m, d);
  74. break;
  75. case 5:
  76. printf("%d年%d月%d日は金曜日です。", y, m, d);
  77. break;
  78. case 6:
  79. printf("%d年%d月%d日は土曜日です。", y, m, d);
  80. break;
  81. }
  82. return 0;
  83. }
  84.  
Success #stdin #stdout 1.26s 5324KB
stdin
Standard input is empty
stdout
 Su Mo Tu We Th Fr Sa