嘘~ 正在从服务器偷取页面 . . .

CCF节日---注意当月第一天超过目标星期的情况


CCF-201503-3

下面都不会了

让我们先来看一下题目

1

解题思路

思路很简单,算日子。。。
注意:
1.闰年的判定
2.输出格式
3.把一些代码包装成函数有利于找bug和清晰思路

代码

#include<iostream>
#include<iomanip>
using namespace std;
int isrun(int y){
    if(y%4==0&&y%100!=0||y%400==0) return 1;
    else return 0;
}
int month[2][12]={
{31,28,31,30,31,30,31,31,30,31,30,31},
{31,29,31,30,31,30,31,31,30,31,30,31}
};
int init(int year,int mon){
    int day=0;
    for(int i=1850;i<year;i++){
      if(isrun(i)) day+=366;
      else day+=365;
    }
    int i=isrun(year);
    for(int j=0;j<mon-1;j++)  day+=month[i][j];
    day%=7;
    day+=2;
    return day;
}
int main(){
    int a,b,c,y1,y2;//a--month bth c--week 
    cin>>a>>b>>c>>y1>>y2;
    for(int i=y1;i<=y2;i++){
      int week,day;
      int flag=isrun(i);
      week=init(i,a);
      if(week>c) day=8-week+c+(b-1)*7;
      else day=8-week+c+(b-2)*7;
      if(day<=month[flag][a-1])
      cout<<i<<"/"<<setw(2)<<setfill('0')<<a
      <<"/"<<setw(2)<<setfill('0')<<day<<endl;
      else
      cout<<"none"<<endl;
    }
    return 0;
}

结果


版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 梦想成为假面骑士的司祎同学 !
赏
评论
评论
 上一篇
CCF模板生成系统---字符串都有替身了,木大木大木大! CCF模板生成系统---字符串都有替身了,木大木大木大!
CCF-201509-3 让我们先来看一下题目 解题思路1.替换的字符用map存储;2.提取字符用到了substr;3.替换用到了replace,find等函数; 注意点1.substr的第一个参数是提取字符串的首字母下标i,第二个参数是字
2020-09-05
下一篇 
CCF集合竞价---STL-set&&STL-vector&&sort() CCF集合竞价---STL-set&&STL-vector&&sort()
CCF-201412-3 我们先来看一下题目 解题思路看到题目感觉经济学知识,不会,仔细品一下,其实就是找个价钱让交易量最大,那么我们存好数据暴力就可以了。淦!1.存数据我们用两个vector2.暴力前,我们用两个sort()进行排序,这样
2020-09-05
  目录