黑色星期五

来源:互联网 发布:中国网络作家协会章程 编辑:程序博客网 时间:2024/04/19 15:14
/************************************************************************//*题目:有一种计算机病毒叫黑色星期五,如果当天是13号,又恰好是星期五,就会/*      发作起来毁坏计算机存储系统。试编程找出九十年代中这种病毒可能发作的/*      日期。                                                                  /************************************************************************/#include <iostream>using namespace std;int main(){int nYear;  //input yearint nMonth; //input monthint nDay;   //input dayint nWeekDay; //input the day of weekcout << "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天elsenDay += 28; //平年2月28天break;case 0:             //倒退一年nYear -= 1;nMonth = 12;break;}}system("pause");return 0;}

原创粉丝点击