fork(1) download
  1. #include <stdio.h>
  2.  
  3.  
  4. int Zeller(int year, int month, int day) {
  5. // 1月, 2月は前年の13月, 14月とする
  6. if (month == 1 || month == 2) {
  7. month += 12;
  8. year -= 1;
  9. }
  10.  
  11. int Y = year % 100;
  12. int C = year / 100;
  13.  
  14. int weekday = ((day + (26 * (month + 1) / 10) + Y + Y / 4 + 5 * C + C / 4) + 5) % 7;
  15.  
  16. return weekday;
  17. }
  18.  
  19. int main() {
  20. int year, month, day;
  21.  
  22. // 確認
  23. year = 2020;
  24. month = 6;
  25. day = 27;
  26.  
  27. int weekday = Zeller(year, month, day);
  28.  
  29. printf("西暦%d年%d月%d日の曜日番号は: %d\n", year, month, day, weekday);
  30.  
  31. // 入力用
  32. /*
  33.   printf("西暦年を入力してください: ");
  34.   scanf("%d", &year);
  35.   printf("月を入力してください: ");
  36.   scanf("%d", &month);
  37.   printf("日を入力してください: ");
  38.   scanf("%d", &day);
  39.   printf("曜日番号は: %d\n", Zeller(year, month, day));
  40.   */
  41.  
  42. return 0;
  43. }
Success #stdin #stdout 0s 5324KB
stdin
Standard input is empty
stdout
西暦2020年6月27日の曜日番号は: 5