日期计算----某月第x个星期x(CCF试题)//c++

//将问题拆解了一下,先求每个月是星期几,再进行接下来的运算,可以一步到位的

 1 #include<iostream>
 2 using namespace std;
 3 //**********节日计算*************
 4 //计算y1年的a月第一天是星期几
 5 int month[12]={31,28,31,30,31,30,31,31,30,31,30,31};
 6 int day(int y1,int a){
 7 int y3=0;
 8 int c1=2;
 9 for(int year=1850;year<y1;year++){
10 int d=365;month[1]=28;
11 if((year%4==0&&year%100!=0)||year%400==0){
12 d=366;month[1]=29;
13 }
14 y3+=d;
15 }
16 for(int i=0;i<a-1;i++){
17 y3+=month[i];
18 }
19 c1+=y3%7;
20 if(c1==8){
21 c1=1;
22 }
23 return c1;
24 }
25 int main(){
26 //节日计算
27 int a,b,c,y1,y2,c2;
28 cin>>a>>b>>c>>y1>>y2;
29 for(int y=y1;y<=y2;y++){
30 month[1]=28;
31 if((y%4==0&&y%100!=0)||y%400==0){
32 month[1]=29;
33 }
34 if(c>day(y,a)){
35 c2=c-day(y,a)+7*(b-1)+1;
36 }
37 else{
38 c2=c-day(y,a)+7*b+1;
39 }
40 if(c2>month[a-1]){
41 cout<<"none"<<endl;
42 }
43 else{
44 cout<<y;
45 if(a<10){
46 cout<<"/0"<<a;
47 }
48 else{
49 cout<<"/"<<a;
50 }
51 if(c2<10){
52 cout<<"/0"<<c2<<endl;
53 }
54 else{
55 cout<<"/"<<c2<<endl;
56 }
57 }
58 }
59
60 return 0;
61
62 }
时间: 2024-10-12 14:08:53

日期计算----某月第x个星期x(CCF试题)//c++的相关文章

随机输入日期计算星期几(1900年1月1日为基础)

已知,1900年1月1日是星期1,用户随机输入年月日,计算星期几 代码如下(未改进),欢迎批评指正 year=int(input('year')) month=int(input('month')) day=int(input('day')) if year >=1900:#大于等于1900 ryear =1900 sum =0 while ryear < year:#1901 if ((ryear % 4 == 0) and (ryear %100 !=0))or(ryear % 400 =

C# 根据年、月、周、星期获得日期等

原文:C# 根据年.月.周.星期获得日期等 [参考] http://blog.csdn.net/livening/article/details/6049341 http://zhidao.baidu.com/question/378600365.html http://www.cnblogs.com/roy117/archive/2008/03/25/1121584.html 楼上几层的代码都太多了,不用那么复杂. 先跟你说一下原理: 1.国际上的WeekDay是从周日到周六的顺序 2.再说C

PHP 日期格式化和日期计算以及获取当前周、月头尾日期

PHP 日期格式化和日期计算以及当获取前周.月头尾日期 PHP 日期格式化示例代码: /** * 格式化时间 * $type:类型 * $strDate:需要处理的时间字符串 * * 年份 Y:四位年份 y:两位年份 * 月份 m: 两位数字月份 n: 一位数字月份 M:英文月 * 日期 d:两位数字日期 j:一位数字日期 D:英文日期 * 时:H .分:i .秒:s **/ public function GetFormatDate($type = 1,$strDate=''){ $time

MSSQL 获取指定日期所在星期的第一天和最后一天日期 获取指定日期坐在月的第一天和最后一天

ufn_GetWeekFirstAndEndDay    获取指定日期所在星期的第一天和最后一天日期 ALTER FUNCTION [dbo].[ufn_GetWeekFirstAndEndDay](@tmpDate DATETIME)RETURNS  @tmpTable TABLE(            FirstDay DATETIME ,          EndDay DATETIME   )ASBEGIN    INSERT INTO @tmpTable    SELECT a.Fi

php计算两个日期相差 年 月 日

在PHP程序中,很多时候都会遇到处理时间的问题,比如:判断用户在线了多长时间,共登录了多少天,两个帖子发布的时间差或者是不同操作之间的日志记录等等.在文章中,简单地举例介绍了PHP中如何计算两个日期相差 年.月.日. 转自: http://www.php1.cn/Content/php_JiSuanLiangGeRiQiXiangChaNianYueRi.html /**   +----------------------------------------------------------

iOS 计算某个月的天数 计算某天的星期

// 某年某月的天数 - (NSInteger)dayCount:(NSInteger)years { NSInteger count = 0; for (int i = 1; i <= 12; i++) { if (2 == i) { if((years % 4 == 0 && years % 100!=0) || years % 400 == 0) //是闰年 { count = 29; } else { count = 28; } }else if (4 == i || 6 =

日期计算

闰年的详细定义: 年份非整百且能被 4 整除的为闰年.(如 2004 年就是闰年, 2005 年不是闰年) 年份能被 400 整除的是闰年.(如 2000 年是闰年,1900 年不是闰年) int is_leap_year(int year) {    if (year % 400 == 0 || (year % 100 != 0 && year % 4 == 0)) {        return 1;    }    return 0;} 经常会遇到别人问你几月几号是星期几的情况,如何

iOS学习笔记37-时间和日期计算

一.时间和日期计算 我们在应用开发中,时常需要和时间打交道,比如获取当前时间,获取两个时间点相隔的时间等等,在iOS开发中与时间相关的类有如下几个: 1. NSDate:表示一个绝对的时间点 2. NSTimeZone:时区信息 3. NSLocale:本地化信息 4. NSDateComponents:一个封装了具体年月日.时秒分.周.季度等的类 5. NSCalendar:日历类,它提供了大部分的日期计算接口 6. NSDateFormatter:用来在日期和字符串之间转换 二.NSDate

1502131514-蓝桥杯-算法提高 日期计算

算法提高 日期计算 时间限制:1.0s   内存限制:256.0MB 问题描述 已知2011年11月11日是星期五,问YYYY年MM月DD日是星期几?注意考虑闰年的情况.尤其是逢百年不闰,逢400年闰的情况. 输入格式 输入只有一行 YYYY MM DD 输出格式 输出只有一行 W 数据规模和约定 1599 <= YYYY <= 2999 1 <= MM <= 12 1 <= DD <= 31,且确保测试样例中YYYY年MM月DD日是一个合理日期 1 <= W &