[解题报告]A - Doom's Day Algorithm

题目大意

题目原文:http://uva.onlinejudge.org/external/120/12019.pdf

背景:

请你判断公元2011年的某月某日是星期几。

 

intput

输入的第一列有一个表示测试数据组数的整数。接着每一列分别表示一组测试数据,其格式为M D。M表示月份(1~12),D表示日期(1~31),所有日期皆是合法的。

output

请你判断2011年的该日期是星期几。星期一到星期日分别为 Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday。

Sample Input

8
1 6
2 28
4 5
5 26
8 1
11 1
12 2512 31

Sample Output

Thursday
Monday
Tuesday
Thursday
Monday
Tuesday
Sunday
Saturday

算法:

我的思路是现一年的日期的星期几都先计算出来,然后再打印出来。见代码。

代码:

这里附上我的代码,你可以去这里提交你的代码验证你的代码是否正确。

#include<stdio.h>
int main(void)
{
    int week[13][32];
    int dat=6,i,k,n,count,m,d;

    for(i=1;i<=12;i++)
    {
        if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
        n=31;
        else if(i==4||i==6||i==9||i==11)
        n=30;
        else if(i==2)
        n=28;
        for(k=1;k<=n;k++)
        {
            week[i][k]=dat;
            dat++;
            if(dat>7)
            dat=1;
        }

    }
    scanf("%d",&count);
    while(count--)
    {
        scanf("%d %d",&m,&d);
        if(week[m][d]==1)
        printf("Monday\n");
        if(week[m][d]==2)
        printf("Tuesday\n");
        if(week[m][d]==3)
        printf("Wednesday\n");
        if(week[m][d]==4)
        printf("Thursday\n");
        if(week[m][d]==5)
        printf("Friday\n");
        if(week[m][d]==6)
        printf("Saturday\n");
        if(week[m][d]==7)
        printf("Sunday\n");

    }
    return 0;
}

 

posted @ 2013-02-21 17:29  乱七八糟 。  阅读(204)  评论(0编辑  收藏  举报