用C语言实现一个万年历

一、如何实现一个万年历

①要实现万年历,首先你得知道每年的1月1日是星期几

这里要用到一个数学公式(这里不做数学证明)

w = d+2*m+3*(m+1)/5+y+y/4-y/100+y/400;

②要判断一年是否为闰年,关系到输出2月的天数

③写一个年份数组,然后输出,并且在周六(当然是你的每周最后一天)过后换行

二、代码块

#include

int TheFirstDay(int y) //计算1月1日星期几

{

int m = 13,d = 1;

int w;

y--;

w = d+2*m+3*(m+1)/5+y+y/4-y/100+y/400;

w=w%7+1;

printf("w = %d",w);

return w;

}

int IsLeapYear(int year)//判断是否为闰年

{

return ((year%4==0&&year%100!=0)||year%400==0);

}

void Print_year()//打印一年的日历

{

int year = 0;

int day = 0;

int count = 0;//一行7个,根据count取余来换行

int kong = 0;//月历中第一行空的格数

int month[12]={31,28,31,30,31,30,31,31,30,31,30,31} ;//月份数组,记录每月天数

printf("请输入年份:");

scanf("%d",&year);

count = TheFirstDay(year);//判断是否为闰年

if(IsLeapYear(year)==1)

month[1]+=1;//闰年的二月加一天

for(int i = 0; i<12; i++)//打印每个月的月历。从1月到12月

{

printf("\n========%d月=========",i+1);

printf("\n日 一 二 三 四 五 六\n");

kong = count%7;

while(kong)

{

printf(" ");

kong--;

}

for(int j=1;j<=month[i];j++)

{

printf("%2d ",j);

count++;//每输出一个,count就+1

if(count%7==0)//count到7就输出换行符“\n”

{

printf("\n");

count = 0;

}

}

}

}

int main()

{

Print_year();

return 0;

}

三、运行结果

今天是2016.6.12星期日,咦。对啦

-------------------->>>C++实现万年历及查询节日功能

c语言实现万年历程序带节日,【C】万年历相关推荐

  1. c语言电子万年历大作业,C语言实现一个简单的电子万年历

    最近帮朋友做一些C语言的练习题,期间遇到了个比较有意思的题目,意在考察模块化程序设计,大致要求如下: 电子万年历: 1.编写函数int isleapyear(int year);判某年是否为闰年,如该 ...

  2. 万年历C语言程序可参考的文献,万年历的c语言程序

    c语言编写的万年历(包含农历和阳历) #include time.h #include stdio.h #include string.h #include stdlib.h #include con ...

  3. c语言万年历算天干地支,万年历计算 之 干支

    1.基本知识 中国古代的一种纪年法.即以甲.乙.丙.丁.戊.己.庚.辛.壬.癸为十干,子.丑.寅.卯.辰.巳.午.未.申.酉.戌.亥为十二支,把干.支顺序配合.如甲子.乙丑等,经过六十年又回到甲子.周 ...

  4. 万年历设计单片机c语言,基于51单片机的电子万年历的设计

    基于51单片机的电子万年历的设计(论文9400字) 功能要求 1. 万年历能用数码管显示阳历年.月.日.星期.[小]时.分.秒并设置指定时间的闹铃. 2. 数字式温度计要求测温范围-50~100°C, ...

  5. C语言 我的第一次课程设计---万年历

    #要求 输入任意一年将显示出该年的所有月份日期,对应的星期 其显示格式要求如下 1.月份用中文显示 2.下一行显示星期,从周日到周六,中英文都可以 3.下一行开始显示日期,从一号开始,并按其实周期实际 ...

  6. c语言万年历论文3000字,万年历C语言报告3

    <万年历C语言报告3>由会员分享,可在线阅读,更多相关<万年历C语言报告3(7页珍藏版)>请在人人文库网上搜索. 1.软件工程实验报告姓名: 学号: 班级:指导老师第三章 实验 ...

  7. 单片机万年历阴阳历c语言,单片机阴历阳历c算法万年历.pdf

    单片机阴历阳历c算法万年历 当前位置: 首页 > 嵌入式系统 > 51 单片机万年历优化算法源程序 51 单片机万年历优化算法源程序 字体大小 : 小 中 大 作者: 来源: 日期: 20 ...

  8. c语言万年历的设计报告,万年历设计报告

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include char* month_str[]={"January","February" ...

  9. c语言万年历的设计任务,万年历设计报告

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include char* month_str[]={"January","February" ...

最新文章

  1. python的继承用法_Python 中的继承之Super用法
  2. 如何高效输出移动app产品原型?
  3. Python从头/尾删除子符串的正确操作
  4. 06 | 哨兵机制: 主库挂了, 如何不间断服务
  5. 温柔得叫人想死:日本电影《火宅之人》手记
  6. 微软自带iscsi客户端对iqn的要求
  7. Apache Flink 进阶入门(二):Time 深度解析
  8. 查看服务器大文件,linux 查看服务器大文件
  9. 恩施机器人编程_恩施安川机器人水切切割编程
  10. 关于synergy的问题
  11. Atitit 常见数据结构之编程语言源文件与编译文件 目录 1.1. 通过反射api得到结构 1 1.2. 通过源码ast信息 1 2. 常见语言 1 2.1. Php ast 解析 1 2.2.
  12. 开源点云数据处理 开源_开源云–充满希望的未来
  13. Homography 单应性变换详解
  14. 苹果屏蔽更新描述文件_iPhone|IOS10-IOS12屏蔽系统更新描述文件|去除设置①小红点教程...
  15. hibernate四种状态
  16. Git——详解操作码云
  17. mysql 1114错误_mysql cluster导表时报1114问题
  18. choco无法将choco识别_终于有个可以量产的法甜配方了,来自巴黎CHOCO(已打包可下载)...
  19. 计算机储存元件原理,计算机原理之存储器组织
  20. Linux上使用docker运行酷Q机器人

热门文章

  1. Intel超线程技术 Hyper-Threading Technology (7) - 最早的一篇超线程论文介绍
  2. 如何根据离散点自动绘制等值线(等高线)之 三角形法
  3. c++ 使用未初始化的内存_C语言内存分布(内核区、堆栈区等)
  4. 2 环境设置_VS Code 虚拟环境设置
  5. python中函数的可变参数_Python中函数的参数定义和可变参数
  6. 佐治亚理工学院 计算投资公开课第六周作业 投资策略分析平台
  7. Metal Framework基础使用教程
  8. android Intent 全面点的介绍
  9. glob,正则表达式元字符,扩展正则表达式总结
  10. Spring框架 AOP面向切面编程(转)