黑色星期五
/************************************************************************/ /*題目:有一種計算機病毒叫黑色星期五,如果當天是13號,又恰好是星期五,就會 /* 發作起來毀壞計算機存儲係統。試編程找出九十年代中這種病毒可能發作的 /* 日期。 /************************************************************************/ #include <iostream> using namespace std; int main() { int nYear; //input year int nMonth; //input month int nDay; //input day int nWeekDay; //input the day of week cout << "Enter the date of today in the form of: year month day dayofweek : " << endl; cin >> nYear >> nMonth >> nDay >> nWeekDay; ////////////////////////////////////////////////////////////////////////// switch (nWeekDay) //先保證是星期五,相應天數要調整 { case 1: nDay += 4; break; case 2: nDay += 3; break; case 3: nDay += 2; break; case 4: nDay += 1; break; case 6: nDay -= 1; break; case 7: nDay -= 2; break; } ////////////////////////////////////////////////////////////////////////// cout << "The date may be as following: " << endl; while (nYear >= 1990) { while (nDay >= 7) { if (nDay == 13 && nYear >= 1990 && nYear <= 1999) cout << nYear << "年 " << nMonth << "月 " << nDay << "日 " << " 星期五" << endl; nDay -= 7; } switch (--nMonth) //先倒退一個月,以計算前一個月的天數 { case 1: case 3: case 5: case 7: case 8: case 10: case 12: nDay += 31; break; case 4: case 6: case 9: case 11: nDay += 30; break; case 2: if ((nYear % 4 == 0) && (nYear % 100) || (nYear % 400 == 0)) nDay += 29; //閏年2月有29天 else nDay += 28; //平年2月28天 break; case 0: //倒退一年 nYear -= 1; nMonth = 12; break; } } system("pause"); return 0; }
最後更新:2017-04-02 15:15:29