题目描述

今天是2007年11月17日,星期六。现在如果我告诉你一个日期,你能告诉它是星期几吗?

输入

输入有多组测试数据,每个测试数据占一行。每行有3个整数,分别表示:年(0< year < 10000), 月(0 <= month < 13), 日(0 <= day < 32)。

输出

每个测试数据输出一行,如果输入数据不对,输出“illegal”,否则输出它是星期几。

样例输入 复制

2007 11 17

样例输出 复制

Saturday

我觉得写这道题的我非常的愚蠢,先来看看写了半个小时的破破烂烂没写完的代码

#include<stdio.h>
//闰年判断
int rn(int year)
{int flag=0;if(year%4==0||year%100==0&&year%400!=0)flag=1;return flag;
}
//2007年 11月 17日 周六 计算输入日期和这天差多少天
int main()
{int year,month,day;int r;int daysum;char week[7][10]={"Saturday","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday"};int mon[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"};while(scanf("%4d %02d %02d",&year,&month,&day)!=EOF){daysum=0;r=rn(year);if(month==0||day==0){printf("illegal\n");}if(r){if(month==2&&day>28)printf("illegal\n");}//计算月日差多少int t =11>month?11:month;for(int i=11<month?11:month;i<t;i++){}int c=year-2007;if(year>2007){if(c%4>1){daysum=365*(c-1)+366*(c/4)+cc;}}}
}

通过以上代码 可以看到码这道题的人 非常愚蠢,和不懂得变通,这道题,我们完全可以通过已知的日期,把公元元年1月1日是周几换算出来,然后直接计算输入的日期与初始日差的天数即可。

#include <stdio.h>
char date[7][10]={"Sunday","Monday","Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
//判断年份是否为闰年
int isLeap(int year)
{if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)return 1;return 0;
}int main()
{int year,month,day;int year1[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};int year2[13] = {0,31,29,31,30,31,30,31,31,30,31,30,31};while(scanf("%d %d %d", &year,&month,&day) != EOF){int days = 0, k = 0, j = 0;if(month == 2){if(isLeap(year)){if(day > year2[month]){printf("illegal\n");continue;}}else{if(day > year1[month]){printf("illegal\n");continue;}}}//现在的日期与公元第一天开始相隔的天数for(k = 1;k < year;k++){if(isLeap(k))days = days + 366;elsedays = days + 365;}for(j = 0; j < month; j++){if(isLeap(year))days = days + year2[j];elsedays = days + year1[j];}days = days + day;printf("%s\n", date[days % 7]);}
}

1162 -6003相关推荐

  1. 1162: 6003 星期几?

    题目描述 今天是2007年11月17日,星期六.现在如果我告诉你一个日期,你能告诉它是星期几吗? 输入 输入有多组测试数据,每个测试数据占一行.每行有3个整数,分别表示:年(0< year &l ...

  2. HDU ACM 1162 Eddy's picture

    http://acm.hdu.edu.cn/showproblem.php?pid=1162 输入一个整数n,表示点的个数. 接下来n行,每行有两个浮点数表示点的x坐标y坐标. 构造一棵最小生成树. ...

  3. 信息学奥赛一本通 1162:字符串逆序

    [题目链接] ybt 1162:字符串逆序 [题目考点] 1. 字符串 2. 递归 [解题思路] 先去掉字符串末尾的'!' 递归输出逆序字符串 递归问题:输出字符串s的逆序字符串 递归关系:设字符串s ...

  4. 信息学奥赛一本通(1162:字符串逆序)

    1162:字符串逆序 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 14027     通过数: 10525 [题目描述] 输入一串以'!'结束的字符,按逆序输出 ...

  5. HDU 1162 Eddy's picture (最小生成树)(java版)

    Eddy's picture 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1162 --每天在线,欢迎留言谈论. 题目大意: 给你N个点,求把这N个点 ...

  6. 【FAQ】应用集成HMS Core部分服务出现“ 6003报错”情况的解决方法来啦

    背景 开发者在应用中集成HMS Core部分服务时,android sdk 以及flutter等跨平台sdk,会出现编译打包后,运行报6003错误码的情况.根据查询可以得知,错误代码 6003 表示证 ...

  7. 关于极光推送报错6003的一些问题

    在实现极光推送点对点推送的过程中要实现设置别名的操作,在这个过程中一直报6003这个错误.首先,因先搞清楚极光点对点推送的过程,在实现点对点推送的实现中我用的是设置别名的方式. 1.极光推送实现点对点 ...

  8. ISDEV : error -6003的解决办法

    最近利用InstallShield制作安装包的时候,出现了如下错误,主要原因是InstallShield的版本与最新的Windows安全更新版本不兼容,从而导致错误,解决办法一种是升级InstallS ...

  9. 调用HMS SDK接口报错6003

    集成华为HMS SDK的游戏或普通应用,调用接口(比如getCurrentPlayer登录接口)总是报错6003.该错误码官方文档表示:签名证书指纹错误,签名证书指纹主要用于校验应用的真实性,确保应用 ...

最新文章

  1. java中日期的数据类型是啥_用于存储日期和时间的最合适的SQL和Java数据类型
  2. winform父窗体实现多个子窗体只能显示一个
  3. iOS 清除未使用图标
  4. centos7开启vnc服务_Centos7 VNC远程桌面服务安装配置
  5. java 循环结构和常用的类 总结笔记
  6. Java实现AVL平衡树
  7. Flask 第三方组件之 login
  8. Launcher3桌面Icon的文字size的 修改
  9. 文本关键词提取算法总结
  10. 触控屏c语言程序,触摸屏编程软件 C-more Micro Programming Software V3.0
  11. 计算机职称考试如何知道这道题对错,职称计算机考试Excel判断试题2017
  12. 互联网的世界安全吗?且行且珍惜
  13. java橙色风格小说精品屋小说网站源码
  14. web端常用手机号,邮箱,税号,组织机构代码,银行卡号等JS正则校验表达式总结
  15. 哔哩哔哩2020届秋招数据分析师面试第一轮(2019.8.8)
  16. Android Studio安装(本人也是站在巨人肩膀上学习~)
  17. 三点共线,向量计算其中一点坐标
  18. 收盘涨幅大于1.5%小于5%的选股公式
  19. 目标设定使用谷歌Analytics(分析)
  20. 程序员述职报告和转正

热门文章

  1. 2022年吉林省高职单招(语文)考试冲刺练习及答案
  2. 使用LCD1602显示MQ-2传感器浓度百分比
  3. Arnold折射中使用LPE单独提取某个材质的渲染结果
  4. 重庆三峡学院计算机宋小令,我院教师积极参加第六届信息、控制论及计算社会系统国际会议...
  5. C++:输入长方体长宽高计算体积(使用构造函数)。
  6. CleanMyMac X适用于Mac电脑安全的软件
  7. SAP:QUERY中SQ02增加选择屏幕权限控制
  8. 遇见未来的自己作文800计算机,遇见未来的自己作文
  9. 心有多大世界就有多大
  10. 想做APP 改版练习,这儿有高手的15个经验总结