/#include <iostream> 
#include <string> 
using namespace std; 
bool isLeapYear(int year)                            //判断是否为闰年
 {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
 }

int main()
 { 
string week[] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};         //定义字符串数组存储星期
int monthDay[] = {0, 31, 0, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};     //定义整型数组保存每月的天数
int leapYear[] = {365, 366};   //定义整型数组保存每年的天数
int year;
int month; 
int day; 
int d; 
int dayofweek;
while(cin>>d && d != -1)

//从2000-01-01开始计算
year = 2000; 
month = 1;
day = 1; 
dayofweek = 6;
while(d >= leapYear[isLeapYear(year)])    //处理每一年  

dayofweek = (dayofweek + leapYear[isLeapYear(year)]%7) % 7;
d -= leapYear[isLeapYear(year)];
year++; 

for(int i=1; i<=d; i++) 

dayofweek++; 
if(dayofweek % 7 == 0) //星期,七天一个周期循环 

dayofweek = 0;

day++; 
if(month != 2 && day > monthDay[month]) //到了一个月的最后一天,月份累加 
{
month++; day = 1; 
}
if(month == 2 && isLeapYear(year) && day > 29)// 二月份单独算

month++; 
day = 1; 

if(month == 2 && !isLeapYear(year) && day > 28) 

month++; 
day = 1; 

if(month > 12) //到了12月,年累加
{
month = 1; 
year++; 
}
}
cout<<year<<"-"; 
if(month<10) 

cout<<"0"<<month; 

else 

cout<<month;
}
cout<<"-"; 
if(day<10) 
{ cout<<"0"<<day; 

else 

cout<<day;

cout<<" "<<week[dayofweek]<<endl; 

return 0; 
 }

从2000年一月一日算,给一个天数,算出它是多少年月日 星期几相关推荐

  1. 元芳,你知道公元一年一月一日是星期几吗

    公元一年一月一日为星期一.这是标准定义,至于为什么这么定义,你可以去考证一下. 我们现在采用的立法是罗马教皇格里高利十三世修订"儒略历"所成的"格里历",该历法 ...

  2. 给定一个日期,算出上周五日期

    给定一个日期,算出上周五日期 DateTime dt=new DateTime();    for(double loop=0;loop<7;loop++)    {     dt=DateTi ...

  3. python写一个表白程序_用Python写一个能算出自己年龄的小程序

    用Python写一个能算出自己年龄的小程序. 其实我连我今年多少岁都不知道,最近看到了python的datetime库里面有很多好用的方法,于是就写了这样一个程序作为练习,然后又写了这样一篇文章来梳理 ...

  4. Java黑皮书课后题第6章:*6.16(一年的天数)使用下面的方法体编写一个方法,返回一年的天数。编写一个测试程序,显示从2000年到2020年间每年的天数

    *6.16(一年的天数)使用下面的方法体编写一个方法,返回一年的天数.编写一个测试程序,显示从2000年到2020年间每年的天数 题目 题目描述 破题 本题代码 运行示例 题目 题目描述 *6.16( ...

  5. 2017 省赛选拨 想打架吗?算我一个!所有人,都过来!(3) 递推 斐波拉数列的应用...

    想打架吗?算我一个!所有人,都过来!(3) Submit Page    Summary    Time Limit: 2 Sec     Memory Limit: 128 Mb     Submi ...

  6. 字数统计,一个英文字母算一个字,一个汉字算一个字,一个符号算一个字

    //============================================================================= // // 字数统计,一个英文字母算一个 ...

  7. 一日一签免费算卦_一日一签app免费算卦

    一日一签app是一款在线抽签算卦的软件,用户在使用软件的时候将直接感受到软件操作的便捷性,这时候还将感受到上面测试的丰富感,在上面可以直接进行寺庙的灵签抽取操作,将直接进行观音相关灵签以及黄大仙相关灵 ...

  8. 如何用python计算年龄_用Python写一个能算出自己年龄的小程序

    用Python写一个能算出自己年龄的小程序. 其实我连我今年多少岁都不知道,最近看到了python的datetime库里面有很多好用的方法,于是就写了这样一个程序作为练习,然后又写了这样一篇文章来梳理 ...

  9. 计算当前时间距离元年一月一日的总天数,并显示现在是星期几

    package create; import java.time.Month; import java.util.Scanner; public class GetTime{ public stati ...

最新文章

  1. bitset HDU6515 Coding Problem
  2. Transformer大升级!谷歌、OpenAI联合推出分层模型,刷榜ImageNet32刷新SOTA
  3. check_mk通用应用检测插件
  4. Oracle安装ORA-12154和ORA-12169问题的解决
  5. OSM OpenStreetMap 获取城市路网数据及转为ESRI shp数据的方法
  6. 应用指定显示到副屏_广电演播领域与舞台LED租赁显示屏如何去选择LED小间距屏...
  7. boost::mpl::advance相关用法的测试程序
  8. vue created 生命周期
  9. 深度学习去燥学习编码_请学习编码
  10. 物联网卡为什么会这么火,主要有哪些优势?
  11. C#编写WINNT服务,随便解决安卓开发遇到的5037被众多程序无节操占用的问题
  12. git整合分支的两种方式 merge 和 rebase
  13. 科技公司都是如何应对 COVID-19?
  14. 异常信息:Unable to update index for aliyun|http://maven.aliyun.com/nexus/content/groups/public/ 解决方法
  15. 企业微信商户号是什么?如何开通?
  16. 使用SHC命令工具加密Shell脚本
  17. ffmpeg区域范围切割视频
  18. IE5的兼容问题——记录给自己看的
  19. 计算机重启后打印机无法连接不上,共享打印机电脑重启就无法连接怎么办
  20. Windows 10 - 安装 Mysql - zip压缩包详细安装教程

热门文章

  1. python刷火车票_Python3实现火车票查询工具
  2. 计算机应用2010是一级还是二级,计算机等级考试应该报一级还是二级呢 哪个更有用...
  3. JS做一个随机整数生成器
  4. linux soundwire usb,Soundwire Server
  5. 远程代答题系统的发展阶段
  6. 对synchronized(this)的一些理解
  7. 解决pscad Gfortran编译问题
  8. imx6修改温度保护
  9. 关于Jvav、JQuery
  10. 三坐标检测之测头系统科普