fork download
  1. #include <stdio.h>
  2. #include <stdio.h>
  3. int is_uruu(int year){
  4. if((year%4==0 && year%100!=0)|| year%400==0){
  5. return 1;
  6. }
  7. else return 0;
  8. }
  9.  
  10. int maxday_of_month(int y, int m){
  11. int md;
  12. if(m==2){
  13. if(is_uruu(y)==1){
  14. md=29;
  15. }
  16. else md=28;
  17. }
  18. if(m==4||m==6||m==9||m==11){
  19. md=30;
  20. }
  21. if(m==1||m==3||m==5||m==7||m==8||m==10||m==12){
  22. md=31;
  23. }
  24. return md;
  25. }
  26. int days_from(int y, int m, int d){
  27. int sum=0,i;
  28. for(i=1;i<m;i++){
  29. sum=sum+maxday_of_month(y,i);
  30. }
  31. sum=sum+d;
  32. return sum;
  33. }
  34. int year_sum(int y,int m,int d){
  35. int sum=0,i;
  36. for(i=1900;i<y;i++){
  37. sum=sum+days_from(i,12,31);
  38. }
  39. sum=sum+days_from(y,m,d)-1;
  40. return sum;
  41. }
  42. int youbi(int y,int m,int d){
  43. if(year_sum(y,m,d)%7==0){
  44. return 1;
  45. }
  46. if(year_sum(y,m,d)%7==1){
  47. return 2;
  48. }
  49. if(year_sum(y,m,d)%7==2){
  50. return 3;
  51. }
  52. if(year_sum(y,m,d)%7==3){
  53. return 4;
  54. }
  55. if(year_sum(y,m,d)%7==4){
  56. return 5;
  57. }
  58. if(year_sum(y,m,d)%7==5){
  59. return 6;
  60. }
  61. if(year_sum(y,m,d)%7==6){
  62. return 0;
  63. }
  64. return 99;
  65. }
  66. int main(void) {
  67. int y,m,d;
  68. scanf("%d,%d,%d",&y,&m,&d);
  69. if(youbi(y,m,d)==0){
  70. printf("%d年%d月%d日は日曜日",y,m,d);
  71. }
  72. if(youbi(y,m,d)==1){
  73. printf("%d年%d月%d日は月曜日",y,m,d);
  74. }
  75. if(youbi(y,m,d)==2){
  76. printf("%d年%d月%d日は火曜日",y,m,d);
  77. }
  78. if(youbi(y,m,d)==3){
  79. printf("%d年%d月%d日は水曜日",y,m,d);
  80. }
  81. if(youbi(y,m,d)==4){
  82. printf("%d年%d月%d日は木曜日",y,m,d);
  83. }
  84. if(youbi(y,m,d)==5){
  85. printf("%d年%d月%d日は金曜日",y,m,d);
  86. }
  87. if(youbi(y,m,d)==6){
  88. printf("%d年%d月%d日は土曜日",y,m,d);
  89. }
  90. return 0;
  91. }
  92.  
Success #stdin #stdout 0.01s 5324KB
stdin
2025,6,19
stdout
2025年6月19日は木曜日