CatchTimer的博客

有梦想会走得更远。

计算生日是星期几

  • 编写一个程序,只要输入年月日,就能回答那天是星期几。
  • 输入一个日期,包括年、月、日。(一组测试数据)
  • 输出这个日期是星期几。
  • 1 1 1

2 1 1

2006 7 10


  • Monday

Tuesday

Monday

#include<iostream>
using namespace std;
int main()
{
    int year,month,day;
    int i,sum=0,s=0;
    int Month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
    cin>>year>>month>>day;
    if((year%4==0&&year%100!=0)||year%400==0)//判断是否是闰年
        Month[2]=29;
    for(i=1;i<year;i++)  //先计算年数的总天数
    {
       if((i%4==0&&i%100!=0)||i%400==0)
           s+=366;
       else
           s+=365;
    }
    for(i=0;i<month;i++)  //再加月数的总天数
        sum+=Month[i];
    sum=s+sum+day;    //最后将输入的年数,月数,天数求和,对7取模,即可得到答案
    if(sum%7==1)
        cout<<"Monday"<<endl;
    else if(sum%7==2)
        cout<<"Tuesday"<<endl;
    else if(sum%7==3)
        cout<<"Wednesday"<<endl;
    else if(sum%7==4)
        cout<<"Thursday"<<endl;
    else if(sum%7==5)
        cout<<"Friday"<<endl;
    else if(sum%7==6)
        cout<<"Saturday"<<endl;
    else if(sum%7==0)
        cout<<"Sunday"<<endl;
    return 0;
}
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sunone_/article/details/51535961
个人分类: 算法题目
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭