zoukankan      html  css  js  c++  java
  • DayOfWeek

    题目

    2008年上海交大计算机上机题

    代码

     1 #include<iostream>
     2 #include<algorithm>
     3 #include<cstring>
     4 using namespace std;
     5 
     6 int ISYEAP(int x){
     7     if((x%100!=0 && x%4 == 0) ||(x % 400 == 0) ) return 1;
     8     else return 0;
     9 }
    10 
    11 int dayOfMonth[13][2] = {
    12     0,0,
    13     31,31,
    14     28,29,
    15     31,31,
    16     30,30,
    17     31,31,
    18     30,30,
    19     31,31,
    20     31,31,
    21     30,30,
    22     31,31,
    23     30,30,
    24     31,31
    25 };
    26 
    27 typedef struct Date{
    28     int Day;
    29     int Month;
    30     int Year;
    31     void nextDay(){
    32         Day++;
    33         if(Day > dayOfMonth[Month][ISYEAP(Year)]){
    34             Day = 1;
    35             Month++;
    36             if(Month > 12){
    37                 Month = 1;
    38                 Year++;
    39             }
    40         }
    41     }
    42 }Date;
    43 
    44 char monthName[13][10] = {
    45     "",
    46     "January",
    47     "February",
    48     "March",
    49     "April",
    50     "May",
    51     "June",
    52     "July",
    53     "August",
    54     "September",
    55     "October",
    56     "November",
    57     "December"
    58 };
    59 char dayName[7][10] = {
    60     "Sunday",
    61     "Monday",
    62     "Tuesday",
    63     "Wednesday",
    64     "Thursday",
    65     "Friday",
    66     "Saturday"
    67 };
    68 int buf[3001][13][32];
    69 
    70 int main(){
    71     Date tmp;
    72     tmp.Year = 0;
    73     tmp.Month = 1;
    74     tmp.Day = 1;
    75     int cnt = 0;
    76     while(tmp.Year != 3001){
    77         buf[tmp.Year][tmp.Month][tmp.Day] = cnt;
    78         tmp.nextDay();
    79         cnt++;
    80     }
    81     int d,m,y;
    82     char str[10];
    83     while(scanf("%d%s%d",&d,&str,&y) != EOF){
    84         for(int i = 1;i <= 12;i++){
    85             if(strcmp(str,monthName[i]) == 0){
    86                 m = i;
    87                 break;
    88             }
    89         }
    90         int days = (abs (buf[y][m][d] - buf[2021][3][2]) );
    91         days = (days + 2 ) % 7;
    92         printf("%s
    ",dayName[days ]);
    93     }
    94     return 0;
    95 }
  • 相关阅读:
    各种机器学习方法概念
    深入理解拉格朗日乘子法(Lagrange Multiplier) 和KKT条件
    肤色识别
    创建自己的窗口消息
    模糊C均值
    Fisher线性判别
    用遗传算法加强足球游戏的人工智能
    人工智能-遗传算法解决推箱子问题现实
    LBP特征
    VC 制作系统托盘程序实现将窗口最小化到系统托
  • 原文地址:https://www.cnblogs.com/fresh-coder/p/14470092.html
Copyright © 2011-2022 走看看