`
netalpha
  • 浏览: 81078 次
  • 性别: Icon_minigender_1
  • 来自: 江苏
社区版块
存档分类
最新评论

杰哥私房题──日历问题

 
阅读更多

问题描述
在我们现在使用的日历中, 闰年被定义为能被4 整除的年份,但是能被100 整除而
不能被400 整除的年是例外,它们不是闰年。例如:1700, 1800, 1900 和 2100 不是闰
年,而 1600, 2000 和 2400 是闰年。 给定从公元2000 年1 月1 日开始逝去的天数,你
的任务是给出这一天是哪年哪月哪日星期几。
输入数据
输入包含若干行,每行包含一个正整数,表示从2000 年1 月1 日开始逝去的天数。
输入最后一行是−1, 不必处理。可以假设结果的年份不会超过9999。
输出要求
对每个测试样例,输出一行,该行包含对应的日期和星期几。格式为“YYYY-MM-DD
DayOfWeek”, 其中 “DayOfWeek” 必须是下面中的一个: "Sunday", "Monday",
"Tuesday", "Wednesday", "Thursday", "Friday" and "Saturday“。
输入样例
1730
1740
1750
1751
-1
输出样例
2004-09-26 Sunday
2004-10-06 Wednesday
2004-10-16 Saturday
2004-10-17 Sunday

#include <stdio.h>
int isRoundYear(int year){
	if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
		return 1;
	else 
		return 0;
}

void dayInfo(int days){
	days += 1;
	int weekDay = days % 7;
	char* week[] = {"Friday", "Saturday", "Sunday","Monday", "Thursday","Wednesday", "Thusday"};
	int cYear = 2000;
	int cMonth = 1;
	int dayPerMonth[] = {31,28,31,30,31,30,31,31,30,31,30,31};
	while(days >= 365){
		if(isRoundYear(cYear)){
			if(days == 365)
				cYear -= 1;
			days -= 1;
		}
		days -= 365;
		cYear += 1;
	}
	while(days >= 28){
		days -= dayPerMonth[cMonth - 1];
		if(isRoundYear(cYear) && cMonth == 2)
			days -= 1;
		if(days < 0){
			days += dayPerMonth[cMonth -1];
			if(isRoundYear(cYear) && cMonth == 2)
				days += 1;
			break;
		}else
			cMonth += 1;
	}
	printf("%d-%d-%d %s\n", cYear, cMonth, days, week[weekDay]);
}

int main(){
	int input;
	scanf("%d", &input);
	while(input != -1){
		dayInfo(input);
		scanf("%d", &input);
	}
	return 0;
}
 
5
0
分享到:
评论

相关推荐

    需要杰哥讲解的毕设js代码

    需要杰哥讲解的毕设js代码

    C++自制小游戏《杰哥和阿伟》源码(cpp)

    C++自制小游戏《杰哥和阿伟》源码(cpp) C++小游戏,由哔哩哔哩的梗制作而成,切勿当真哦~ 游戏内行为请勿模仿! 原创小游戏,请勿转载或整改~ 记得关注@Ender_momo,短时间内将发布制作过程

    杰哥两套卷.rar

    但根据文件名,我们可以推测“杰哥”可能是资料的作者或提供者,而“两套卷”可能指的是两套数学练习题或模拟试卷,分别针对不同的数学领域。 【标签】虽然为空,但如果我们为这个文件添加标签,可能包括“数学”、...

    前端面试题:前端框架面试题大全

    前端面试题:前端框架面试题大全; 前端面试题:前端框架面试题大全; 前端面试题:前端框架面试题大全; 前端面试题:前端框架面试题大全; 前端面试题:前端框架面试题大全; 前端面试题:前端框架面试题大全; ...

    计算机组成原理期末常见考试题大全

    计算机组成原理期末题,计算机组成原理期末常见考试题大全 计算机组成原理期末题,计算机组成原理期末常见考试题大全 计算机组成原理期末题,计算机组成原理期末常见考试题大全 计算机组成原理期末题,计算机组成...

    有跟我一样看不懂代码,只能盲抄来理解的吗,杰哥看到了莫生气我自己现在真写不了好了,今天的案例与while语句有关

    有跟我一样看不懂代码,只能盲抄来理解的吗,杰哥看到了莫生气我自己现在真写不了好了,今天的案例与while语句有关

    笔试面试算法题文档.zip

    笔试面试算法题文档.zip 笔试面试算法题文档.zip 笔试面试算法题文档.zip 笔试面试算法题文档.zip 笔试面试算法题文档.zip 笔试面试算法题文档.zip 笔试面试算法题文档.zip 笔试面试算法题文档.zip 笔试面试算法题...

    全国大学生数学建模大赛真题:2020年全国大学生数学建模竞赛 B 题 - “地下水污染源识别”

    全国大学生数学建模大赛真题:2020年全国大学生数学建模竞赛 B 题 - “地下水污染源识别”; 全国大学生数学建模大赛真题:2020年全国大学生数学建模竞赛 B 题 - “地下水污染源识别”; 全国大学生数学建模大赛真题...

    计算机类专业部分课后习题与详细解答分析.docx

    计算机类专业部分课后习题与详细解答分析.docx 计算机类专业部分课后习题与详细解答分析.docx 计算机类专业部分课后习题与详细解答分析.docx 计算机类专业部分课后习题与详细解答分析.docx 计算机类专业部分课后习题...

    10道经典算法习题与详细解析.docx

    10道经典算法习题与详细解析.docx 10道经典算法习题与详细解析.docx 10道经典算法习题与详细解析.docx 10道经典算法习题与详细解析.docx 10道经典算法习题与详细解析.docx 10道经典算法习题与详细解析.docx ...

    百度google笔试题汇总

    这份“百度google笔试题汇总”压缩包文件提供了丰富的资源,帮助那些准备实习或全职工作的应聘者提升自己的技术水平和解决问题的能力。 首先,我们来看看“Google笔试题.doc”和“Google笔试题 (1).doc”。这些文档...

    电赛历年真题查找与经典题目解析+编程知识+技术开发

    电赛历年真题查找与经典题目解析+编程知识+技术开发; 电赛历年真题查找与经典题目解析+编程知识+技术开发; 电赛历年真题查找与经典题目解析+编程知识+技术开发; 电赛历年真题查找与经典题目解析+编程知识+技术...

    百度笔试题汇总 doc格式

    本人收集的几套百度笔试题。 doc格式,需要找工作的可以看看

    美赛历年真题查找与经典题目解析+编程知识+技术开发

    美赛历年真题查找与经典题目解析+编程知识+技术开发; 美赛历年真题查找与经典题目解析+编程知识+技术开发; 美赛历年真题查找与经典题目解析+编程知识+技术开发; 美赛历年真题查找与经典题目解析+编程知识+技术...

    ACM历年真题查找与经典题目解析+编程知识+技术开发

    ACM历年真题查找与经典题目解析+编程知识+技术开发; ACM历年真题查找与经典题目解析+编程知识+技术开发; ACM历年真题查找与经典题目解析+编程知识+技术开发; ACM历年真题查找与经典题目解析+编程知识+技术开发;...

    蓝桥杯历年真题查找与经典题目解析+编程知识+技术开发

    蓝桥杯历年真题查找与经典题目解析+编程知识+技术开发; 蓝桥杯历年真题查找与经典题目解析+编程知识+技术开发; 蓝桥杯历年真题查找与经典题目解析+编程知识+技术开发; 蓝桥杯历年真题查找与经典题目解析+编程知识...

    前端开发面试题大全,涵盖了HTML、CSS、JavaScript、前端框架和工具等方面

    前端面试题:前端开发面试题大全,涵盖了HTML、CSS、JavaScript、前端框架和工具等方面; 前端面试题:前端开发面试题大全,涵盖了HTML、CSS、JavaScript、前端框架和工具等方面; 前端面试题:前端开发面试题大全,...

    【7】Ceph分布式存储架构搭建.docx

    【Ceph分布式存储架构搭建】 Ceph是一种先进的开源分布式存储解决方案,它被广泛应用于OpenStack和CloudStack等云计算框架中,提供对象存储、文件系统和块存储服务。Ceph的独特之处在于其统一存储架构,支持多种...

    Linux环境下的开发项目指南,包括软件安装,环境配置,项目源码,运维调试等方面.docx

    ### Linux 环境下的开发项目指南 在 Linux 环境下进行开发项目不仅仅涉及编写代码,还需要掌握软件安装、环境配置、项目源码管理以及运维调试等多个方面。本指南将详细介绍如何在 Linux 系统中高效地完成开发工作。...

    python深度学习-pandas

    Python 深度学习 - Pandas Pandas 是 Python 中一个流行的数据分析库,提供了高效、灵活的数据结构和数据分析工具。下面是对 Pandas 的详细介绍: 对象的创建 Pandas 中有两种主要的数据结构:Series(一维对象)...

Global site tag (gtag.js) - Google Analytics