Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- using namespace std;
- int main()
- {
- int date,months,days,years,years_thousand,years_hundred,years_ten,years_one,years_stg_one,years_stg_two;
- cout<<"請輸入年/月/日,用空格分開: ";
- cin>>years>>months>>date;
- if (months == 1) {
- months = 13;
- years = years-1;
- }
- if (months == 2) {
- months=14;
- years = years-1;
- }
- years_thousand=years/1000;
- years_hundred=(years-years_thousand*1000)/100;
- years_ten=(years-years_thousand*1000-years_hundred*100)/10;
- years_one=(years-years_thousand*1000-years_hundred*100-years_ten*10);
- /*
- cout<<"years = "<<years<<endl;
- cout<<"years thousand = "<<years_thousand<<endl;;
- cout<<"Years hundred = "<<years_hundred<<endl;
- cout<<"Years ten = "<<years_ten<<endl;
- cout<<"Years one = "<<years_one<<endl;
- */
- years_stg_one=10*years_thousand+years_hundred;
- years_stg_two=10*years_ten+years_one;
- if (years_stg_one<=15 && years_stg_two<=82 && months<=10 && days<=4) {
- goto befcalc;
- }
- else {
- goto afcalc;
- }
- befcalc:
- {
- days=(years_stg_two+(years_stg_two/4)-years_stg_one+(26*(months+1)/10)+date+4)%7-1;
- if (days == 0) {
- cout<<"星期天"<<endl;
- }
- else if (days<0) {
- days = days + 7;
- cout<<"星期"<<days<<endl;
- }
- else {
- cout<<"星期"<<days<<endl;
- }
- cout<<(26*(months+1)/10);
- return 0;
- }
- afcalc:
- {
- days=(years_stg_two+(years_stg_two/4)+(years_stg_one/4)-2*years_stg_one+(26*(months+1)/10)+date-1)%7;
- if (days == 0) {
- cout<<"星期天"<<endl;
- }
- else if (days<0) {
- days = (days%7+7)%7;
- cout<<"星期"<<days<<endl;
- }
- else {
- cout<<"星期"<<days<<endl;
- }
- return 0;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement