在我们现在使用的日历中, 闰年被定义为能被4整除的年份,但是能被100整除而不能被400整除的年是例外,它们不是闰年。例如:1700, 1800, 1900 和 2100 不是闰年,而 1600, 2000 和 2400是闰年。 给定从公元2000年1月1日开始逝去的天数,你的任务是给出这一天是哪年哪月哪日星期几。

输入
输入包含若干行,每行包含一个正整数,表示从2000年1月1日开始逝去的天数。输入最后一行是−1, 不必处理。可以假设结果的年份不会超过9999。

输出
对每个测试样例,输出一行,该行包含对应的日期和星期几。格式为“YYYY-MM-DD DayOfWeek”, 其中 “DayOfWeek” 必须是下面中的一个: “Sunday”, “Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday” 或 "Saturday“。

样例输入

1730
1740
1750
1751
-1

样例输出

2004-09-26 Sunday
2004-10-06 Wednesday
2004-10-16 Saturday
2004-10-17 Sunday

代码

#include<iostream>
#include<string>
#include<iomanip>
using namespace std;
int Isrun(int a){if (a % 4 != 0 || (a % 100 == 0 && a % 400 != 0)){return 0;}else{return 1;}
}
int main(){int years[2] = { 365,366 };int days;int Month[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };int MonthR[13] = { 0,31,29,31,30,31,30,31,31,30,31,30,31 };string week[] = { "Saturday","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday" };while (cin >> days && days != -1) {int type = days%7;int i = 2000,j = 1;for (i = 2000; days >= years[Isrun(i)]; i++){days -= years[Isrun(i)];}if (Isrun(i) == 0){for (j = 1; days >= Month[j]; j++){days -= Month[j];}}else{for (j = 1; days >= MonthR[j]; j++){days -= MonthR[j];}}cout << i << "-" << setfill('0') << setw(2) << j << "-" << setfill('0') << setw(2) << days + 1 << " " << week[type] << endl;}
}

日历问题 —— C++相关推荐

  1. app如何打开了request url_手机日历app内如何打开节日提醒功能?支持提前提醒节日的云便签...

    我们一年中要度过的节日有很多,除了法定节假日之外,还有其他的很多节日,例如西方传来的圣诞节.万圣节,国际性的节日例如父亲节.母亲节等,还有一些传统节日例如小寒.冬至.腊八等,这些都是不放假的. 有时候 ...

  2. Python Qt GUI设计:QCalendar日历类和QDateTimeEdit时间类(基础篇—20)

    目录 1.QCalendar日历类 2.QDateTimeEdit时间类 1.QCalendar日历类 QCalendar是一个日历控件,它提供了一个基于月份的视图,允许用户通过鼠标或键盘选择日期,默 ...

  3. mui ios中form表单中点击输入框头部导航栏被推起及ios中form表单中同时存在日期选择及输入框时,日历选择页面错乱bug...

    一.ios header导航栏被推起解决方法 1 设置弹出软键盘时自动改变webview的高度 plus.webview.currentWebview().setStyle({ softinputMo ...

  4. 【Qt】qss样式表之:QCalendarWidget,日历窗口样式表设置

    1.效果图: 2.qss样式表 其中表头的背景颜色等设置不起作用,只好在下面的代码中实现. /*日历*/ QCalendarWidget QHeaderView {qproperty-minimumS ...

  5. 年季度月周日控件html,基于bootstrap按年、季度、年月、年月日的日历插件(原创)...

    插件描述:基于bootstrap按年.季度.年月.年月日的日历插件,作为bootstrapdatetimepicker的扩展 更新时间:2020-07-02 22:02:19 更新说明:修改yk-da ...

  6. Java项目:日历万年历(java+swing)

    源码获取:博客首页 "资源" 里下载! 功能简介: 万年历 启动类: public class CalendarMainClass { public static void mai ...

  7. python中ttk和tkinter_Python tkinter与ttk日历

    我正在使用 this代码在我的Tkinter上创建一个简单的日历.当我在主根窗口上放置日历时,日历显示正常.因此,我决定放置另一个按钮,它将创建一个Tkinter顶层窗口并在顶层窗口上放置另外一个日历 ...

  8. iOS访问系统日历 添加提醒事件

    1 添加隐私请求提示 Privacy - Calendars Usage Description 2 代码 #import <EventKit/EventKit.h> // 添加提醒事件 ...

  9. 【iOS】日历行程的增删改查(完整)

    前言 我们可以使用系统提供的EventKit框架来访问和操作用户的日历日程和提醒(虽然日历和提醒是两个独立的app,但是是用同一个框架来处理数据).同样地,日历和提醒的数据的数据,都是存储在同一个叫做 ...

  10. iOS 高可控性日历基础组件 - SKCalendarView 的使用和实现思路的分享

    阅读 61 收藏 5 2017-04-02 原文链接:http://www.jianshu.com/p/ce4c64a4d437 SKCalendarView 是一个高可控性的日历基础组件,为了提高应 ...

最新文章

  1. cent os 6 fdisk fat32
  2. 元宇宙iwemeta: 克林顿指出,加密货币与生物恐怖主义有相同的威胁
  3. 用pc装华为服务器系统,pc安装服务器系统安装
  4. Spring Boot基础学习笔记15:实现文件下载功能
  5. Linux内核哈希表分析与应用
  6. atitit 部门日常工作流程体系 日常日程表 日常工作内容列表清单.docx
  7. Javashop 7.0 统一登录unionID问题修改
  8. keras神经网络搭建六步法
  9. php中的接口 interface 和实现 implement
  10. 软件系统可靠性的指标计算
  11. EDA软件_Cadence_Allegro 16.6焊盘制作
  12. Part 2 如何进行埋点(内附埋点文档模板)
  13. plsql快速导入sql文件
  14. 反斜杠,让您的csv文档字符不撞车;让“借”您csv数据的人叫苦不迭。
  15. Cookie、Session、Token、JWT 看一篇就够了
  16. Java 文件压缩及下载
  17. 程序员向 GitHub 仓库提交 PR,结果 “轰炸” 了近 40 万开发者
  18. 谷歌地图下载器中“地图艺术照”
  19. 无人值守自动安装——PXE(Preboot eXecution Environment)
  20. Auto-Encoder (什么是Auto-Encoder part1)

热门文章

  1. 1. 架构到底是指什么? 容易混淆的概念
  2. Arduino控制PS2无线手柄
  3. 微型计算机 路由,华硕RT-AC68U无线路由器深度体验
  4. 蓝牙温度检测系统(基于BT08-B蓝牙模块)
  5. 2021年高压电工模拟考试题库及高压电工模拟考试系统
  6. 速记软考之木马和病毒
  7. 强大的 Apipost 要取代 Postman 了吗?
  8. php验证码图片不显示怎么办,php 验证码图片无法显示怎么办
  9. cassss服务未启动_aws启动ssserver
  10. html常用布局标签的合理搭配