蓝桥杯省赛-星期一

题目描述

整个20世纪(1901年1月1日至2000年12月31日之间),一共有多少个星期一?
(不要告诉我你不知道今天是星期几)

输出

输出一个整数表示答案
#include<iostream>
 #include<cstdio>
 using namespace std;
 int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
 int b[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
 int days(int year,int month)
 {
     if(year%4==0&&year%100!=0||year%400==0)
         return b[month];
     else
         return a[month];
 }
 int main()
 {
     int year=2000,month=12,day=31;
     int i=1,ans=0;
     while(!(year==1901&&month==1&&day==1))
     {
         day--;
         i++;
         if(i==8)
         {
             i=1;
             ans++;
         }
         if(day==0)
         {
             day=days(year,month);
             month--;
             if(month==0)
             {
                 month=12;
                 year--;
             }
         }
     }
     cout<<ans<<endl;
     return 0;
 }

 

posted @ 2021-04-01 21:24  只配吃三碗饭  阅读(127)  评论(0)    收藏  举报