从某一日期开始过day天的日期
一个SX问我的,我就写了写......从2010.1.1开始,给了一组测试数据3的话输出2010.1.4星期1,所以说2010.1.1是星期五,总星期就是
(day+5)%7==0?7:(day+5)%7
下面是代码......
#include <iostream>
#include <stdlib.h>
using namespace std; int month[] = {,,,,,,,,,,,};
int myDay[]; bool isRunYear(int year)
{
if((year%==&&year%!=)||year%==)
return true;
return false;
} int main()
{
int i,j,k,t=;
int day;
cin>>day;
int sumDay = ;
//先算到3000年,每年离得天数
for(i=;i<;i++)
{
//sumDay = 0;不可清零
bool flag = isRunYear(i);
if(flag)
sumDay += ;
else
sumDay += ;
myDay[t++] = sumDay;
}
for(i=; i<t;i++)
{
if(myDay[i]>day)
break;
}
int year = i+;
//算月份
int leftDay;
if(i==)
leftDay = day;
else
leftDay = day-myDay[i-];
bool flag = isRunYear(year);
int sum = ;
if(flag)
month[] = ;
int monthDay=;
int finalDay;
for(j=;j<;j++)
{
//感觉这一句比较妙
sum += month[j];
//if(leftDay<=sum)
// break;
if(leftDay<sum)
{
monthDay = j+;
//最后加一是因为 1月1日开始不是1月0日
finalDay = leftDay - (sum-month[j])+;
break;
}
else //31天的时候应该是2月1号
if(leftDay==sum)
{
monthDay=j+;
finalDay = ;
break;
}
} int xingqi = (day+)%==?:(day+)%;
cout<<"第"<<day<<"天后是:"<<year<<"年"<<monthDay<<"月"<<finalDay<<"号"<<"星期"<<xingqi<<endl;
system("pause");
return ;
}
从某一日期开始过day天的日期的更多相关文章
- OpenJudge计算概论-Tomorrow never knows【输入日期计算下一天的日期】
/*====================================================================== Tomorrow never knows? 总时间限制 ...
- js字符串转日期,js字符串解析成日期,js日期解析, Date.parse小时是8点,Date.parse时间多了8小时
js字符串转日期,js字符串解析成日期,js日期解析, Date.parse小时是8点,Date.parse时间多了8小时 >>>>>>>>>&g ...
- sql生成连续日期(年份、月份、日期)
此随笔主在分享日常可能用到的sql函数,用于生成连续日期(年份.月份.日期) 具体的看代码及效果吧! -- ============================================= ...
- js 日期比较大小,js判断日期是否在区间内,js判断时间段是否在另外一个时间段内
/** * 日期解析,字符串转日期 * @param dateString 可以为2017-02-16,2017/02/16,2017.02.16 * @returns {Date} 返回对应的日期对 ...
- js替换全部,js检查输入的日期是否是一个正确的日期格式
<script language="javascript"> var str = "我爱的人和爱我的人,我爱的人和爱我的人"; var newstr ...
- 通过javascript的日期对象来得到当前的日期,并输出--内置对象---JS
//通过javascript的日期对象来得到当前的日期,并输出. var mydate = new Date(); var week = ["星期日","星期一" ...
- 根据条件决定My97DatePicker日期控件弹出的日期格式
代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <tit ...
- java基础22 日期类、日历类、日期格式类
package com.dhb.code; import java.text.ParseException; import java.text.SimpleDateFormat; import jav ...
- Oracle function实现根据输入的日期以及天数,获取此日期之后的天数的工作日
前提:在法定节日表(t_fdjr )中维护法定节日包括周六周天 /** * 功能描述:根据输入的日期以及天数,获取此日期之后的天数的工作日 * 输入参数: * i_date YYYY-MM-DD * ...
- PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
本文实例讲述了PHP获取日期对应星期.一周日期.星期开始与结束日期的方法.分享给大家供大家参考,具体如下: /* * 获取日期对应的星期 * 参数$date为输入的日期数据,格式如:2018-6-22 ...
随机推荐
- 【字符串排序,技巧!】UVa 10905 - Children’s Game
There are lots of number games for children. These games are pretty easy to play but not so easy to ...
- Leetcode 104. Maximum Depth of Binary Tree(二叉树的最大深度)
Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the long ...
- Python函数中参数* 和 ** 的区别
* 函数接收参数为元组 例如 def myfun(*args): #相当于 def myfun(1,2,3) ==> args 就相当于(1,2,3) for a in args: pri ...
- TortoiseGit记住用户名和密码
1.将项目从服务器Clone下来 2.然后在Repository上右键,打开设置 3.选择凭证 4.为当前Repository创建一个凭证,然后确定退出即可 5.然后再pull下,会直接提示你输入密码 ...
- Beyond Compare 相同文件对比结果仍显示红色 解决方案
转载:http://blog.sina.com.cn/s/blog_4d4bc1110100zj7x.html 1. 问题详细描述如下. 下图显示对比结果中,两侧的aaa.xml是一模一样,会话中 ...
- C# 3.0 基本框架
使用TimeZoneInfo: static void Main() { TimeZoneInfo wa = TimeZoneInfo.FindSystemTimeZoneById ("W. ...
- 高级C#
使用delegates委托写插件方法: public delegate int Transformer (int x); public class Util { public static void ...
- java.lang.RuntimeException: Unable to instantiate activity ComponentInfo异常总结
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo异常总结 做android开发的可能都碰到"j ...
- C#常量字段
const 常量字段使用方法 using System;using System.Collections.Generic;using System.Linq;using System.Text;usi ...
- 安装sinopia-ldap
背景: 已经安装好sinopia,配置好本地npm源 安装sinopia-ldap: npm install -g sinopia-ldap 配置: 修改sinopia的配置文件config.yaml ...