题解 | #Day of Week#

Day of Week

https://www.nowcoder.com/practice/a3417270d1c0421587a60b93cdacbca0

#include <iostream>
using namespace std;
//公元元年是0001年
int p[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
string q[13]={"a","January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November","December"};
string r[7]={"Sunday","Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
int Run(int k)
{
    if((k%400==0)||((k%4==0)&&(k%100!=0)))return 1;
    else return 0;
}
int main() {
    int d, y;
    string b;
    int m;
    while (cin >> d >> b >> y) { 
        for(int i=1;i<=12;i++)
        {
            if(b==q[i]){
                m=i;
                break;
            }
        }

    int sum1=0;//这里一定要清零,否则除了第一行测试用例,其他测试用例都是错的
    for(int i=1;i<=y-1;i++)
    {
        if(Run(i)==1)sum1+=366;
        else sum1+=365;
    }
    if(Run(y)==1)p[2]=29;
    else p[2]=28;
    for(int i=1;i<=m-1;i++)
    {
        sum1+=p[i];
    }
    sum1+=d;
    sum1%=7;
    
    cout<<r[sum1]<<endl;


    }
}

全部评论

相关推荐

今天 11:15
中南大学 Java
好可爱的hr姐姐哈哈哈哈
黑皮白袜臭脚体育生:兄弟们貂蝉在一起,吕布开了
点赞 评论 收藏
分享
每晚夜里独自颤抖:你cet6就cet6,cet4就cet4,你写个cet证书等是什么意思。专业技能快赶上项目行数,你做的这2个项目哪里能提现你有这么多技能呢
点赞 评论 收藏
分享
下个早班:秒挂就是不缺人
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务