#include <stdio.h>
main()
{
int year, initial, n, month, day, i, j, Feb, count;
printf("輸入有幾組日期要算(n=1~10)\n");
for (count=0 ; count<n; count++)
{
if (year%400==0||(year%4==0&&year%100!=0)) /*設定閏/平年時二月的天數*/
Feb=29;
else
Feb=28;
switch (month){ /*設定輸入的每個月份前面要加上幾天*/
case 1:
i=0; break;
case 3:
i=31 + Feb; break;
case 5:
i=31*2 + Feb +30; break;
case 7:
i=31*3 + Feb +30*2; break;
case 8:
i=31*4 + Feb +30*2; break;
case 10:
i=31*5 + Feb +30*3; break;
case 12:
i=31*6 + Feb +30*4; break;
case 2:
i=31; break;
case 4:
i= Feb + 31*2 ; break;
case 6:
i= Feb + 31*3 + 30; break;
case 9:
i= Feb + 31*5 + 30*2; break;
case 11:
i= Feb + 31*6 + 30*3; break;
default:
i=-1; break;
}
if (0<day&&day<32) j= ((initial+i+day-1)%7); /*如果月份有錯輸出-2 日期有錯輸出-2*/
else j=-2;
if (month==2&&day==31) j= -2;
if (month==4&&day==31) j= -2;
if (month==6&&day==31) j= -2;
if (month==9&&day==31) j= -2;
if (month==11&&day==31) j= -2;
if (Feb==28&&month==2&&day==29) j= -2;
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgptYWluKCkKewogICAgaW50IHllYXIsIGluaXRpYWwsIG4sIG1vbnRoLCBkYXksIGksIGosIEZlYiwgY291bnQ7CgogICAgcHJpbnRmKCLovLjlhaXlubTku73ot58xLzHmmK/mmJ/mnJ/lub5cbiIpOwogICAgc2NhbmYoIiVkIiwmeWVhcik7CiAgICBzY2FuZigiJWQiLCZpbml0aWFsKTsKICAgIHByaW50Zigi6Ly45YWl5pyJ5bm+57WE5pel5pyf6KaB566XKG49MX4xMClcbiIpOwogICAgc2NhbmYoIiVkIiwmbik7CiAgICBwcmludGYoIui8uOWFpeaXpeacn1xuIik7Cgpmb3IgKGNvdW50PTAgOyBjb3VudDxuOyBjb3VudCsrKQogICAgewogICAgc2NhbmYoIiVkIiwmbW9udGgpOwogICAgc2NhbmYoIiVkIiwmZGF5KTsKCgogICAgaWYgKHllYXIlNDAwPT0wfHwoeWVhciU0PT0wJiZ5ZWFyJTEwMCE9MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKuioreWumumWjy/lubPlubTmmYLkuozmnIjnmoTlpKnmlbgqLwogICAgICAgIEZlYj0yOTsKICAgIGVsc2UKICAgICAgICBGZWI9Mjg7CgoKICAgIHN3aXRjaCAobW9udGgpeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyroqK3lrprovLjlhaXnmoTmr4/lgIvmnIjku73liY3pnaLopoHliqDkuIrlub7lpKkqLwogICAgY2FzZSAxOgogICAgICAgIGk9MDsgYnJlYWs7CiAgICBjYXNlIDM6CiAgICAgICAgaT0zMSArIEZlYjsgYnJlYWs7CiAgICBjYXNlIDU6CiAgICAgICAgaT0zMSoyICsgRmViICszMDsgYnJlYWs7CiAgICBjYXNlIDc6CiAgICAgICAgaT0zMSozICsgRmViICszMCoyOyBicmVhazsKICAgIGNhc2UgODoKICAgICAgICBpPTMxKjQgKyBGZWIgKzMwKjI7IGJyZWFrOwogICAgY2FzZSAxMDoKICAgICAgICBpPTMxKjUgKyBGZWIgKzMwKjM7IGJyZWFrOwogICAgY2FzZSAxMjoKICAgICAgICBpPTMxKjYgKyBGZWIgKzMwKjQ7IGJyZWFrOwoKICAgIGNhc2UgMjoKICAgICAgICBpPTMxOyBicmVhazsKICAgIGNhc2UgNDoKICAgICAgICBpPSBGZWIgKyAzMSoyIDsgYnJlYWs7CiAgICBjYXNlIDY6CiAgICAgICAgaT0gRmViICsgMzEqMyArIDMwOyBicmVhazsKICAgIGNhc2UgOToKICAgICAgICBpPSBGZWIgKyAzMSo1ICsgMzAqMjsgYnJlYWs7CiAgICBjYXNlIDExOgogICAgICAgIGk9IEZlYiArIDMxKjYgKyAzMCozOyBicmVhazsKCiAgICBkZWZhdWx0OgogICAgICAgIGk9LTE7IGJyZWFrOwogICAgfQoKCgogICAgaWYgKDA8ZGF5JiZkYXk8MzIpIGo9ICgoaW5pdGlhbCtpK2RheS0xKSU3KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKuWmguaenOaciOS7veaciemMr+i8uOWHui0yICDml6XmnJ/mnInpjK/ovLjlh7otMiovCiAgICBlbHNlIGo9LTI7CiAgICBpZiAobW9udGg9PTImJmRheT09MzEpIGo9IC0yOwogICAgaWYgKG1vbnRoPT00JiZkYXk9PTMxKSBqPSAtMjsKICAgIGlmIChtb250aD09NiYmZGF5PT0zMSkgaj0gLTI7CiAgICBpZiAobW9udGg9PTkmJmRheT09MzEpIGo9IC0yOwogICAgaWYgKG1vbnRoPT0xMSYmZGF5PT0zMSkgaj0gLTI7CiAgICBpZiAoRmViPT0yOCYmbW9udGg9PTImJmRheT09MjkpIGo9IC0yOwoKCiAgICBpZiAoaT09LTEpIHByaW50ZigiJWRcbiIsaSk7CiAgICBlbHNlIHByaW50ZigiJWRcbiIsaik7Cgp9CgpyZXR1cm4gMDsKCn0K