CCF真题之节日
201503-3
#include <iostream>
using namespace std;
bool lear(int year) {
if((year%4==0&&year%100!=0)||(year%400==0))
return true; else return false; }
int countDay(int year,int month,int day) {
int i,s,num=0;
int b[12]={31,28,31,30,31,30,31,31,30,31,30,31};//每个月的天数
if(lear(year)) b[1]=29; //若为闰年,则修改第2个月份的天数
//统计1到year-1年之间有多少个闰年
for(i=1;i<year;i++) {
if(lear(i)) num++; }
s=(year-1)*365+num;
//year-1年底距离0年的总天数
for(i=0;i<month-1;i++)
s=s+b[i]; //第year年前month-1个月的天数
s=s+day;//再加上month这个月的天数
return s; }
int main() {
int i,m,n,d,y1,y2,cday,cweek,dd;
//int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};//每个月的天数 cin>>m>>n>>d>>y1>>y2;
for(i=y1;i<=y2;i++) {
//一直90分,原因,数组初始化在for循环外面 ,故若为闰年,a[1]的值会不断增1
int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};//每个月的天数
if(lear(i)) a[1]=29;
//i年m月1日距离1850年1月1日多少天
cday=countDay(i,m,1)-countDay(1850,1,1);
cweek=cday%7+2;
// i年m月1日为周几
if(d>=cweek)
dd=1+(d-cweek)+(n-1)*7; //首先计算i年m月的第一个星期几为几号,再计算第几个星期几为几号
else dd=1+(7-cweek)+d+(n-1)*7;
if(dd>a[m-1]) cout<<"none"<<endl;
else {
cout<<i<<"/";
if(m<10) cout<<"0"<<m<<"/";
else cout<<m<<"/";
if(dd<10) cout<<"0"<<dd<<endl;
else cout<<dd<<endl;
}
}
}
CCF真题之节日的更多相关文章
- CCF真题之最优灌溉
201412-4 问题描述 雷雷承包了很多片麦田,为了灌溉这些麦田,雷雷在第一个麦田挖了一口很深的水井,所有的麦田都从这口井来引水灌溉. 为了灌溉,雷雷需要建立一些水渠,以连接水井和麦田,雷雷也可以利 ...
- CCF真题Z型输出
#include<stdio.h> #include<iostream> #include<string.h> #include<algorithm> ...
- CCF真题之命令行选项
201403-3 问题描述 请你写一个命令行分析程序,用以分析给定的命令行里包含哪些选项.每个命令行由若干个字符串组成,它们之间恰好由一个空格分隔.这些字符串中的第一个为该命令行工具的名字,由小写字母 ...
- CCF真题之最大矩形
201312-3 问题描述 在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1 ≤ i ≤ n)个矩形的高度是hi.这n个矩形构成了一个直方图.例如,下图中六个矩形的高度就分别是3, 1, 6 ...
- CCF真题之字符串匹配
201409-3 问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行.你的程序还需支持大小写敏感选项:当选项打开时,表示同一个字母的大写和小写看作不同的字符:当选项关闭时,表示同一 ...
- CCF真题之网络延时
201503-4 问题描述 给定一个公司的网络,由n台交换机和m台终端电脑组成,交换机与交换机.交换机与电脑之间使用网络连接.交换机按层级设置,编号为1的交换机为根交换机,层级为1.其他的交换机都连接 ...
- CCF真题之Z字形扫描
201412-2 问题描述 在图像编码的算法中,需要将一个给定的方形矩阵进行Z字形扫描(Zigzag Scan).给定一个n×n的矩阵,Z字形扫描的过程如下图所示: 对于下面的4×4的矩阵, 1 5 ...
- CCF真题之门禁系统
201412-1 问题描述 涛涛最近要负责图书馆的管理工作,需要记录下每天读者的到访情况.每位读者有一个编号,每条记录用读者的编号来表示.给出读者的来访记录,请问每一条记录中的读者是第几次出现. 输入 ...
- CCF真题之画图
201409-2 问题描述 在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩形指将横坐标范围从x1到x2,纵坐标范围从y1到y2之间的区域涂上颜色. 下图给出了一个画了两个矩形的 ...
随机推荐
- angularjs select 循环中出现第一个 option 为空格问题
当select 的ng-module 为空时, select显示空白行. 解决:指定ng-module的默认值.
- C++位操作符总结
#include <stdio.h> #include <memory.h> #include <malloc.h> #define MaxBinLength 16 ...
- Error Domain=com.alamofire.error.serialization.response Code=-1016 "Request failed: unacceptable con
AFHTTPSessionManager * manager = [AFHTTPSessionManager manager]; manager.responseSerializer.acceptab ...
- CDN的原理以及其中的一些技术
本质:DNS解析CNAME时最终会请求到阿里CDN的DNS服务器上,阿里CDN的DNS服务器会判断请求ip的物理区域是哪里,同时根据各CDN节点的压力做全局的负载均衡 返回合适CDN节点的ip. ht ...
- 使用Aspose.Cell控件实现Excel高难度报表的生成(一)
时光飞逝,生活.工作.业余研究总是在不停忙碌着,转眼快到月底,该月的博客文章任务未完,停顿回忆一下,总结一些经验以及好的东西出来,大家一起分享一下.本文章主要介绍报表的生成,基于Aspose.Cell ...
- 用CocoaPods做iOS程序的依赖管理
CocoaPods简介 每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如Java语言的Maven,nodejs的npm.随着iOS开发者的增多,业界也出现了为iOS程序提供依赖管理的工具,它的 ...
- DMV to track the temp file usage for SQLServer
There are three DMVs you can use to track tempdb usage: sys.dm_db_task_space_usagesys.dm_db_session_ ...
- linux mknod命令解析
linux mknod命令解析 http://www.cnblogs.com/cobbliu/archive/2011/07/05/2389014.html mknod:make node 生成设备 ...
- axis2_1.6.2之构建web端和客户端 .
参考资料: http://blog.csdn.net/apei830/article/details/5448897 axis2的官网 http://axis.apache.org/axis2/jav ...
- 再探Java基础——throw与throws
http://blog.csdn.net/luoweifu/article/details/10721543 异常处理机制 异常处理是对可能出现的异常进行处理,以防止程序遇到异常时被卡死,处于一直等待 ...