2007年5月28日 星期一

作者一大早前往参加报表培训,途中遭遇严重堵车但仅迟到几分钟。午餐食用了丽华快餐,通过培训对报表制作有了基本了解。
   培训

       一大早跑去培训,中间堵车,堵死我了,一动不动,还好,才迟到了几分钟,中吃丽华快餐,基本知道了这个报表是怎么闹出来的了。

生憋,费劲,不写了。

#include <iostream> using namespace std; // 判断是否为闰 bool isLeapYear(int year) { return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0); } // 返回某年某月有多少天 int daysInMonth(int year, int month) { int days[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; if (month == 2 && isLeapYear(year)) { return 29; } return days[month]; } // 计算从 20079月1到目标期之间的天数差 int getDifference(int y, int m, int d) { int total = 0; // 先累加完整份的天数(从2007到y-1) for (int i = 2007; i < y; ++i) { total += isLeapYear(i) ? 366 : 365; } // 再累加当前的前m-1个月的天数 for (int i = 1; i < m; ++i) { total += daysInMonth(y, i); } // 最后加上当前月已经过去的天数d,并减去起始之前的天数 total += d - 1; // 因为2007-9-1是第天,所以要减掉前面的 return total; } // 计算某期是星期几(已知2007-9-1是星期六,即6) int getWeekday(int y, int m, int d) { int diff = getDifference(y, m, d); // 得到距离起始的天数 return (6 + diff) % 7; // 起始是星期六(6),加diff天后取模 } int main() { int year, month, day; cin >> year >> month >> day; int weekday = getWeekday(year, month, day); // 星期一输出 ALL(注意:这里星期一对应的是 1) if (weekday == 1) { cout << "ALL" << endl; } else { // 计算从2007-9-1开始过了多少天 int diff = getDifference(year, month, day); // 四人轮流,从B开始(0:B, 1:X, 2:H, 3:P) char person[] = {'B', 'X', 'H', 'P'}; cout << person[diff % 4] << endl; } return 0; }这个运行之后,输入2007 9 1,输出什么
最新发布
12-03
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值