Day of Week

简介: Day of Week

题目描述:


We now use the Gregorian style of dating in Russia. The leap years are years with number divisible by 4 but not divisible by 100, or divisible by 400.

For example, years 2004, 2180 and 2400 are leap. Years 2004, 2181 and 2300 are not leap.

Your task is to write a program which will compute the day of week corresponding to a given date in the nearest past or in the future using today’s agreement about dating.


输入:


There is one single line contains the day number d, month name M and year number y(1000≤y≤3000). The month name is the corresponding English name starting from the capital letter.


输出:


Output a single line with the English name of the day of week corresponding to the date, starting from the capital letter. All other letters must be in lower case.


样例输入:


21 December 2012


5 January 2013


样例输出:


Friday


Saturday


程序代码:


#include<stdio.h>
#include<string.h>
int leap(int a)
{
  if(a%400==0||(a%4==0&&a%100!=0))
    return 1;
  return 0;
}
int main()
{
  char month[20];
  int day,year,k,d,i,sum;
  int q[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},
        {0,31,29,31,30,31,30,31,31,30,31,30,31}};
  char a[20][20]={"0","January","February","March","April","May","June","July","August","September","October","November","December"};
  char b[20][20]={"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};
  while(~scanf("%d%s%d",&day,month,&year))
  {
    sum=0;
    for(i=1;i<year;i++)
    {
      if(leap(i)==1)
        sum+=366;
      else
        sum+=365;
    }
    for(k=1;k<=12;k++)
    {
      if(strcmp(month,a[k])==0)
        break;
    }
    d=leap(year);
    for(i=1;i<k;i++)
      sum+=q[d][i];
    sum+=day;
    if(sum%7==0)
      printf("Sunday\n");
    else
      printf("%s\n",b[sum%7-1]);
  }
  return 0;
}

 


相关文章
|
4月前
|
机器人
week 0
这篇文章是关于机器人产业发展的介绍,以及一个以四足机器狗为平台的课程概览,课程内容包括机器人运动学、嵌入式开发和ROS等,旨在教授学生理解机器人系统的构成和工作原理,并进行项目实践。
27 0
week 0
|
OceanBase
to_date 和 sysdate
to_date 和 sysdate
832 0
|
Java 关系型数据库 MySQL
Date和Calendar
Date和Calendar
125 0
new Date()
new Date()
114 0
|
存储 JavaScript 前端开发
new Date(dateString)
new Date(dateString)
114 0
|
Go
New Year and Hurry
New Year and Hurry
107 0
New Year and Hurry
C#编程:用DateTime获取当前是星期几-5
C#编程:用DateTime获取当前是星期几-5
105 0
C#编程:用DateTime获取当前是星期几
C#编程:用DateTime获取当前是星期几
279 0
|
C#
C# DateTime和DateTime?格式化时间
DateTime:   DateTime?:
848 0
|
Java 数据格式 XML
Today's harvest !!!
今天将Mybatis的视频看到了第60集,其之前讲解了自表的主外键查询.例如一个新闻表中,有一级栏目,二级栏目,三级栏目,其中二级栏目的pid为一级栏目的id,如此种种.而今天做的小项目中使用了 easyui 这个前端框架来做后端数据的解析.
1166 0