C语言根据日期判断星期几(使用基姆拉尔森计算公式)

算法如下:

基姆拉尔森计算公式

W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7

在公式中d表示日期中的日数,m表示月份数,y表示年数。

注意:在公式中有个与其他公式不同的地方:

把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算。

#include "stdio.h"

void CaculateWeekDay(int y,int m, int d)

{

if(m==1||m==2) {

m+=12;

y--;

}

int iWeek=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;

switch(iWeek)

{

case 0: printf("星期一\n"); break;

case 1: printf("星期二\n"); break;

case 2: printf("星期三\n"); break;

case 3: printf("星期四\n"); break;

case 4: printf("星期五\n"); break;

case 5: printf("星期六\n"); break;

case 6: printf("星期日\n"); break;

}

}

void main()

{

int year=0,month=0,day=0;

printf("请输入日期:\n格式为:1900,1,1\n");

char temp = '1';

while (temp != '0')

{

scanf("%d,%d,%d",&year,&month,&day);

scanf("%c",&temp);

CaculateWeekDay(year,month,day);

printf("输入0退出,其他继续:");

scanf("%c",&temp);

}

}

运行后交互输出结果如下:

请输入日期:

格式为:1900,1,1

2008,4,29

星期二

输入0退出,其他继续:l

2013,8,29

星期四

输入0退出,其他继续:0

请按任意键继续. . .

编者注:用来算现在真实日期的星期是没有问题的。原理是根据已知公元1年1月1日的星期数来推算。如果在你的题目中约定了某天是星期几,你要注意那天的星期是否跟真实的星期相同,如果不同,需要考虑相差几天!

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com

特别注意:本站所有转载文章言论不代表本站观点!

本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

求星期算法c语言程序,C语言根据指定日期计算是星期几相关推荐

  1. c语言根据首字母判断星期几,C语言根据指定日期计算是星期几

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. C语言根据日期判断星期几(使用基姆拉尔森计算公式) 算法如下: 基姆拉尔森计算公式 W= ...

  2. 编写C语言程序:输入一个n,计算从1到n的和

    编写C语言程序:输入一个n,计算从1到n的和.编写程序如下: 这是用了while语句 #include"stdio.h" void main() {int i=1,n;int su ...

  3. 插入法排序c语言程序,C语言之插入排序算法

    一.什么是直接插入算法? 直接插入排序是一种简单的插入排序法,其基本思想是:把待排序的纪录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的纪录插入完为止,得到一个新的有序序列. 选择 ...

  4. 用直接分解法求方程组的C语言程序,c语言编程求解线性方程组论文

    计算机编程求解线性方程组 第一章 绪 论 在自然科学.工程技术.经济和医学各领域中产生的许多实际问题都可以通过数学语言描述为数学问题,也就是说,由实际问题建立数学模型,然后应用各种数学方法和技巧来求解 ...

  5. 求一到一百的总偶数奇数总数和的C语言程序,C语言程序求1—100之间的奇数和和偶数和...

    点击查看C语言程序求1-100之间的奇数和和偶数和具体信息 答:用oddsum=1+3+5+···+99来计算奇数和:evensum=2+4+6+···+100来计算偶数和.首先设置两个计数器:odd ...

  6. 学生实验平台搭建c语言程序,c语言程序设计实验学生用.doc

    c语言程序设计实验学生用 C语言程序设计 实验指导 (学生用) 计算机基础教研室 <C语言程序设计>课程组 2012年9月 前 言 <C语言程序设计>是计算机科学技术系面向全校 ...

  7. 记得每天锻炼身体c语言程序,c语言程序

    一实验名称计算出1000以内10个最大素数之和二.实验目的1.熟练掌握if.if-else.if-else if语句和witch语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用if语句和s ...

  8. 我的世界c语言程序,C语言基本知识

    软件是将一组程序组织起来 每个程序由一组指令组成 数据结构+算法 数据结构 在程序中要指定数据的类型和数据的组织形式. 算法(程序的灵魂) 就是为了解决实际问题而提出的具体方法与步骤. 算法的特点 有 ...

  9. 棱形旋转c语言程序_C 语言时隔 5 年重回巅峰,这 20 个热门项目拿去练手!

    在上个月的 TIOBE 编程语言排名中,C 语言和 Java 的差距只有 0.01%.在近日 TIOBE 公布的 2020 年 5 月编程语言排行榜中,C 语言成功超越了 Java,重返第一的王者宝座 ...

最新文章

  1. Rocksdb 的优秀代码(二)-- 工业级 打点系统 实现分享
  2. 太生猛!AI应届生年薪涨到80万!网友:后悔生的太早
  3. 嵌入式系统中时间的应用以及rtc的验证过程
  4. 使用require.context实现前端工程自动化
  5. 科目三靠边停车驾驶流程
  6. 2018拼多多内推校招编程题
  7. Android核心基础(五)
  8. springboot 2.0 Redis command timed out的解决
  9. p语言是python吗-Python 这语言真是混乱和原始
  10. 读书笔记《TAOCP》 V1 S1.1
  11. 百度地图/腾讯地图/世界开源地图经纬度API查询接口
  12. 苹果html 闪退,苹果打开软件闪退是怎么回事_苹果手机一打开软件就闪退如何解决-win7之家...
  13. 动态炫酷的js背景特效库集锦
  14. 求神州战神Z7-SL7D3的2018BIOS
  15. Python 魔术方法指南
  16. 微信小程序简易评分样式
  17. Remote table-valued function calls are not allowed.
  18. 使用natapp实现内网穿透详细教程
  19. 如何去除Discuz标题栏中的Powered by Discuz!
  20. Linux安装GIT最新版

热门文章

  1. Pipeline支撑运维自动化:sftp原子模块
  2. android 熄屏后仍然可以点击,Android - 在不触发睡眠/锁定屏幕的情况下关闭显示屏 - 使用触摸屏打开...
  3. 我终于把Boss直聘上热度最高的Java面试八股文总结,渗透面试核心知识点!
  4. 如何在FPS游戏中快速实现简单的人体定位算法
  5. vscode下载和前端工程师常用的20+插件,包含代码提示、语法高亮、括号颜色等等
  6. 黑马头条登录到个人中心页面
  7. 数学脱式计算在线计算机,三年级数学脱式计算.doc
  8. HiveOnSpark
  9. 轴承剥离型故障对应的特征频率
  10. [原创]中国大陆民谣盘点系列(1) 沈庆《这么多年以来》