[万人千题] 《C语言入门100例》(第19例) 日期——题1(C语言)(超简单)
零、欸嘿!
英雄哪里出来《C语言入门100例》传送门
https://bbs.csdn.net/forums/hero?category=0&typeId=17913https://bbs.csdn.net/forums/hero?category=0&typeId=17913本题知识回顾
【第19题】给出一个字符串代表日期,问它是这一年的第几天 | 我和闰年有个约会_英雄哪里出来-CSDN博客难度:★★☆☆☆,我和闰年有个约会https://blog.csdn.net/WhereIsHeroFrom/article/details/118272497每天会开启一篇试读文章,每日坚持打卡就可以一直白嫖哦
一、题目
1185. 一周中的第几天
难度简单38
给你一个日期,请你设计一个算法来判断它是对应一周中的哪一天。
输入为三个整数:
day
、month
和year
,分别表示日、月、年。您返回的结果必须是这几个值中的一个
{"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}
。示例 1:
输入:day = 31, month = 8, year = 2019 输出:"Saturday"
力扣https://leetcode-cn.com/problems/day-of-the-week/二、解题
思路:就是算1970年1月1日到给定的日期一共多少天,然后对7求余,就知道是周几了,
注意(1)由日历得1970年1月1日是周4 所以前边算总数时先加上4
然后就是平年闰年,平年365,闰年366,平月闰月,平2月28,闰2月29,就可以了
(2)闰年就是 模4为0,模100不为零 或者模400为0的年份
char * dayOfTheWeek(int day, int month, int year){ //给定年,月,日int A[13]={0,31,59,90,120,151,181,212,243,273,304,334,365};//平年365天int B[13]={0,31,60,91,121,152,182,213,244,274,305,335,366}; //闰年366天int num=4;//这个根据日历得到1970年1月1日是周四,所以前边先加上4(就是从周日开始0.1.2.3.4嘛)for(int i=1971;i<=year;++i){if((i-1)%4==0&&(i-1)%100||(i-1)%400==0){ //先看年份 判断接下来一年时平年还是闰年num+=366; //闰年加366}else num+=365; //平年加365}if(year%4==0&&year%100||year%400==0){ //再看月份 判断平\润年num+=B[month-1]+day-1;//2月的话就加上1月的日子,以此类推,所以数组下标是[month-1],} //然后加上day-1,为啥-1呢,就是1970年1月1的话num==4+1-1==4,求余正好是4对应周 //4如果不-1,就多出了一天else num+=A[month-1]+day-1; num%=7; //求余 char *week[]={"Sunday","Monday", "Tuesday","Wednesday","Thursday","Friday","Saturday"};return week[num]; //返回对应的星期
}
三、结果
[万人千题] 《C语言入门100例》(第19例) 日期——题1(C语言)(超简单)相关推荐
- [万人千题] 《C语言入门100例》(第19例) 日期——题2(C语言)(超简单)
零.欸嘿! 英雄哪里出来<C语言入门100例>传送门 https://bbs.csdn.net/forums/hero?category=0&typeId=17913https:/ ...
- 万人千题 | 九日集训 | 英雄算法联盟合伙人 | 三年之约 | B站直播早起粉丝团
图中红色字为动态数字,会随时修改 文章目录 一.万人千题 1.简介 2.详述 二.九日集训 1.简介 2.参与人群 2.如何参与 3.集训周期 4.集训内容 5.如何参加 三.英雄算法联盟合伙人 1. ...
- 万人千题第一阶段报告【待继续总结】
学习内容概况 目的:找编程和做题的手感 具体训练内容:万人千题第一阶段题库(思维导图),同时还有一些之前做过的题 练习后总结 具体细节之后补充为文字版,概况思维导图如下: 编程细节 位运算使用技巧 d ...
- 【万人千题】《第一阶段:算法零基础抱团打卡》学习路线指引
博主会带领大家首先进行<算法零基础100讲>的训练,每天把一些知识点巩固后做完相应练习题,和群友一起打卡,今天是打卡 第三天.具体玩法本文会进行详细介绍. 打卡地址 社区:万人千题 前 ...
- 【万人千题】结对编程排位赛(第一期) 第二周 排名公布,冠军成功卫冕,啊这……
博主会带领大家进行 <C语言入门100例> 和 <算法零基础100讲>的训练,每天把一些知识点巩固后做完相应练习题,和群友一起打卡,如果身边有志同道合之人,也可一起加入,今 ...
- 万人千题打卡第六期——习题题解
描述: 给定一个整数,写一个函数来判断它是否是 3 的幂次方.如果是,返回 true :否则,返回 false . 整数 n 是 3 的幂次方需满足:存在整数 x 使得 n == 3x 来源:力扣(L ...
- 【万人千题】誓要成为刷题界的卷王王中王
<暗里刷题>(改编自<暗里着迷>) 兄弟们,由于需要,得开始接触二次元了,明年想办法进驻b站.承诺会更新算法系列视频教程,十年内保证更新完所有算法视频.有兴趣的可以提前关注 ...
- 【Go语言入门100题】044 稳赢 (15 分) Go语言 | Golang
[题解][PTA团体程序设计天梯赛] L1-044 稳赢 (15 分) Go语言|Golang 大家应该都会玩"锤子剪刀布"的游戏:两人同时给出手势,胜负规则如图所示: 现要求你编 ...
- 【Go语言入门100题】022 奇偶分家 (10 分) Go语言 | Golang
[题解][PTA团体程序设计天梯赛] L1-022 奇偶分家 (10 分) Go语言|Golang 给定N个正整数,请统计奇数和偶数各有多少个? 输入格式: 输入第一行给出一个正整N(≤1000):第 ...
最新文章
- TensorFlow分布式(多GPU和多服务器)详解
- 一种缘于积木游戏的思维
- Matplotlib绘图库初探
- java.lang包中的常用类
- python 爬虫面试题_Python爬虫面试题
- Ribbon_窗体_实现Ribbon风格的窗体
- iis7 上传限制问题
- shell,perl,python
- 超强性能,秒级存储,华为云GeminiDB for Cassandra 正式商用了
- Codeforces Round #456 (Div. 2)
- 动漫品牌“爆笑虫子”宣布与xNFT Protocol战略合作,开发NFT数字卡牌游戏
- 侦听键盘,将data写入文件data.out(成功版本)
- cad刷新快捷键_47个CAD快捷键+50个技巧,了解这些CAD操作,你就偷着乐吧
- 经纬度一度等于多少米
- Python 对象烤地瓜
- 第四周项目1---建立单链表
- VC/MFC拖动窗口任意位置移动窗口
- ECDH 密钥交换举例(ECDH Key Exchange - Examples)
- python用input输入字典_输入字典python_python输入字典_python用input输入字典 - 云+社区 - 腾讯云...
- 【ThreeJS基础教程-初识Threejs】1.5 选择合适的相机与相机切换