https://blog.csdn.net/NGUever15/article/details/88878223

这天星期几?

文章目录

  • 这天星期几?
    • 问题描述
    • 测试样例
    • 问题分析
      • 先验知识:
      • 判断是否为闰年的函数实现
    • 解题思路
    • 运行效果

问题描述

要求实现函数whatDay来计算这个月的1号是星期几并返回(周一到周日分别返回整数1到7)。其中该函数的参数为两个整数:年和月。
提示:由于判断是否闰年有多个地方需要用到,故已把该功能单独实现为一个函数。

测试样例

测试输入:
2016 1
预期输出:
2016年1月1日是星期5

测试输入:
2017 7
预期输出:
2017年7月1日是星期6

问题分析

先验知识:

已知公元1年1月1日是星期一

判断是否为闰年的函数实现

int leapYear(int y)
{if(y % 4 == 0 && y % 100 != 0 || y % 400 == 0)return 1;return 0;
}

提示

闰年的条件为:
能被4整除但不能被100整除 ,或者能被400整除。

解题思路

  1. 计算出这几天距离公元1年1月1日多少天
  2. 用天数模7计算星期几。

首先考虑年份:
闰年+366;平年+365;

if(year!=1){for(int i=1;i<year;i++){if(leapYear(i)){sum_day+=days_run;}else{sum_day+=days_ping;}}}

在考虑月份:
闰年二月+29;平年二月+28;

 if(month==1){sum_day+=1;}else{switch(month-1){case 11:sum_day+=30;case 10:sum_day+=31;case 9:sum_day+=30;case 8:sum_day+=31;case 7:sum_day+=31;case 6:sum_day+=30;case 5:sum_day+=31;case 4:sum_day+=30;case 3:sum_day+=31;case 2:if(leapYear(year))sum_day+=29;else sum_day+=28;case 1:sum_day+=31;break;}sum_day+=1;}

模7:

 int out = sum_day%7;if(out == 0){return 7;}else return out;

运行效果


GitHub源码地址
本文内容到此结束,欢迎指正交流!

C++:这天星期几?相关推荐

  1. C语言 这天星期几?

    目标: 编写函数 whatDay,计算某年某月的1号是星期几并返回. 程序实现 #include<stdio.h> #include <iostream> // 函数leapY ...

  2. CC++:计算某年某月的1号是星期几

    C&C++函数实训-这天星期几? 任务描述 本关任务:编写函数 whatDay,计算某年某月的1号是星期几并返回. 相关知识 要知道某一天是星期几,可以用已知的某一天进行推导. 例如已知公元1 ...

  3. JS 中 Date() 的其他操作集锦

    好吧,这周完全是个业务型的程序猿了,明显地能感觉到洗头发时头皮都会有点疼,是秃顶的前兆. 算得上收获的就是有较多的接触到计算时间方面的事件...嗯,几个笔记分享一下 // 处理 /Date(" ...

  4. 头歌--CC++函数实训

    第1关:登月纸桥 任务描述 本关任务:编写一个函数,计算需要把纸折叠多少次(假设纸张足够大,可以无限次折叠),其厚度才能搭建一座登月纸桥,考虑到将来需要到更远的星球,所以函数需要根据具体距离计算纸张折 ...

  5. CC++函数实训(国防科大)

    第1关:登月纸桥 100 任务要求 参考答案 评论333 任务描述 相关知识 函数的定义 声明函数 编程要求 测试说明 任务描述 本关任务:编写一个函数,计算需要把纸折叠多少次(假设纸张足够大,可以无 ...

  6. 基于FPGA的电子日历设计

    本设计是本学期的课程设计,也没有正式上过课,全凭自学摸索完成本课程设计,在摸索的过程中也看了csdn上众多博客,给予了本人很大的帮助,本人做完也前来分享.若有不对错误之处也请大家多多理解指正.本设计可 ...

  7. 【Educoder作业】CC++函数实训

    [Educoder作业]C&C++函数实训 是不是学会了函数就可以做任何题了- T1 登月纸桥 给出了函数的基本定义,可以在主函数上面定义函数,然后在主函数下面写函数.可能会显得可读性强一点? ...

  8. c语言判断这天是星期几,【求指导!!】输入年,月,日,然后判断这天是星期几!!!!!...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 6楼兄弟谢了哈.可以啦!!!!哈哈,开心啊. //1900年1月1日是星期一 //所以从1900年1月1日算起 #include int fun(int ...

  9. 计算某年新年是星期几的公式【不过这天怎么也该是假期吧?】

    马上元旦了,也就是新年. 今天也是刚刚研究了一下,网上查出来一个公式,可以计算某年元旦具体是星期几. 公式是这样的. //添加一个计算某年元旦具体是星期几的公式 //day=year+(year-1) ...

  10. 【CC++】这天是星期几?

    编写函数 whatDay,计算某年某月的1号是星期几并返回. 例如,已知公元1年1月1日是星期一,公元2年1月1日则是在星期一基础上加上一整年的天数(要考虑闰年,闰年一年366天,非闰年365天),如 ...

最新文章

  1. assign和always组合逻辑块,孰优孰劣?
  2. netty tcp服务端主动断开客户端_【Netty】服务端和客户端
  3. 单例模式在多线程中的安全性研究
  4. html文字列表,文字列表模板
  5. cocos2d-x3.0 相对布局(一)
  6. ifconfig相关
  7. python正则匹配找到所有的浮点数_如何利用Python抓取静态网站及其内部资源
  8. 【python基础知识】写入文件指定编码格式,例如utf-8
  9. html中输出 u263c,二级C语言笔试必过399题
  10. Vue学习笔记(六) 表单输入绑定
  11. idea 初始界面_IDEA 初始配置教程
  12. React 组件开发 传参(详解)。
  13. 华为大数据平台使用pyhive连接hive的方法(Kerberos验证)
  14. 2021-09-30 拐点可能存在的地方总结, 关于弧微分的理解
  15. E680手机上能用的 MPlayer
  16. Foxit PDF SDK for iOS--零基础Cordova开发
  17. getElementByClassName
  18. 计算机二级考试不及格看不到分数吗,计算机二级查不到成绩是不是没过,不及格有分数吗...
  19. mysql_性能优化一(慢查询分析)
  20. MeiShe Face Sticker Design Plugin AR Scene Editor Instruction

热门文章

  1. 旭阳集团锚定“2025” 企业卓越运营让信息化来帮忙
  2. python高级变量类型
  3. 程序员打新总结 6月份 新股申购秘籍
  4. android高德地图语音,高德地图导航组件没有导航语音声音
  5. 鹿晗公布恋情致微博宕机;微信发布国庆长假数据报告;三星宣布将销售翻新版Note 7 丨价值早报
  6. h3c交换机重启_h3c交换机重置命令_h3c交换机如何初始化
  7. 【win10网络重置后,网络适配器消失或者不能使用】
  8. 学习帮——懒人菜谱,电饭煲可以做的菜!
  9. 代理模式(委托模式)— 结构型
  10. 神来之笔-线程变量实践