这是一个C语言编程实例:给定年份和月份,求该月共有多少天。

问题分析

输入:年份(整数)和月份(整数)。

输出:该月份的天数(整数)。

一年有 12 个月,其中一、三、五、七、八、十、十二月各有 31 天,四、六、九、十一月各有 30 天。二月比较特殊,闰年的二月有 29 天,平年的二月有 28 天,要确定二月的天数,就要先判断当年是否为闰年。

某年是否为闰年可以依据“四年一闰,百年不闰,四百年闰”来进行判断。也就是说在能被 4 整除的年份当中,除了那些能被 100 整除但不能被 400 整除的年份外,其余的都是闰年(见图 1)。判断一个数能否被另一个数整除可以用 C 语言的求模运算符(%)来实现。

图 1:判断某年是否为闰年

用 xxxx 表示年份,则凡是不能被 4 整除(xxxx%4!=0)的年份都是平年;而在能被 4 整除的年份中,那些能被 100 整除但不能被 400 整除((xxxx%100==0)&&(xxxx%400!=0))的年份也是平年。

(xxxx%4 != 0) || ((xxxx%100 == 0) && (xxxx%400 != 0))

凡是能被 400 整除(xxxx%400==0)的年份都是闰年;能被 4 整除但不能被 100 整除((xxxx%4==0)&&(xxxx%100!=0))的年份也是闰年。

(xxxx%400 == 0) || ((xxxx%4 == 0) && (xxxx%100 != 0))

算法描述

1) 定义两个整型变量 year 和 month 用于存储年份和月份;

2) 用 scanf( ) 从键盘输入年份和月份;

3) 根据月份的数值,分情况处理:

月份为 4、6、9、11 中的一个,则输出 30;

月份为 1、3、5、7、8、10、12 中的一个,则输出 31;

月份为 2,则判断该年是否为闰年:是闰年,则输出 29;是平年,则输出 28;

4) 结束。

代码清单 2:给定年份和月份,求该月共有多少天

#include

#include

int main( )

{

int year,month;

printf("请输入年份和月份(两个整数,空格分隔):\n");

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

switch (month)

{

case 4:case 6:case 9:

case 11:printf("%d年%d月有30天。\n",year,month); break;

case 1: case 3: case 5: case 7: case 8: case 10:

case 12:printf("%d年%d月有31天。\n",year,month); break;

case 2:if((year%400==0)||((year%4==0)&&(year%100!=0)))

printf("%d年%d月有29天。\n",year,month);

else

printf("%d年%d月有28天。\n",year,month);

break;

default:printf("输入有误!\n");

}

system("pause");

return 0;

}

运行结果为:

请输入年份和月份(两个整数,空格分隔):

2020 5

2020年5月有31天。

c语言自动生成时间计算天数,C语言计算某月的天数(附带源码)相关推荐

  1. C语言自动生成代码注释:koroFileHeader插件

    C语言自动生成代码注释 2.配置插件 3.使用快捷键 以前写代码,只会用 //this is a add function void add(int a,int b) {return a+b; } 因 ...

  2. mysql修改字段为现在时间_mysql如何修改字段自动生成时间

    mysql修改字段自动生成时间的方法:1.添加CreateTime设置默认时间:2.修改CreateTime设置默认时间:3.添加UpdateTime设置默认时间. 本教程操作环境:windows7系 ...

  3. c语言旅游系统,C语言计算旅行花费附带源码

    C语言计算旅行花费附带源码 来源:www.xysxzl.com时间:2021-03-01 10:56 旅游程序 国庆节桐桐一家想自驾旅游,目的地有北京.海南.云南等许多好玩的地方可选择,在已知汽车平均 ...

  4. 计算机毕业设计ssm基于客户时间窗变化的物流配送管理系统设计ro75j系统+程序+源码+lw+远程部署

    计算机毕业设计ssm基于客户时间窗变化的物流配送管理系统设计ro75j系统+程序+源码+lw+远程部署 计算机毕业设计ssm基于客户时间窗变化的物流配送管理系统设计ro75j系统+程序+源码+lw+远 ...

  5. SpringMVC关于json、xml自动转换的原理研究[附带源码分析 --转

    SpringMVC关于json.xml自动转换的原理研究[附带源码分析] 原文地址:http://www.cnblogs.com/fangjian0423/p/springMVC-xml-json-c ...

  6. 用python求解:用户分别输入外援半径和内圆半径,计算圆环的面积;及用户分别输入圆柱的底面圆半径和高,输出圆柱和表面积。(附带源码)

    用python求解:用户分别输入外援半径和内圆半径,计算圆环的面积:及用户分别输入圆柱的底面圆半径和高,输出圆柱和表面积.(附带源码) 纯分享一下平时练习题: 运算结果如下 源代码如下: import ...

  7. c语言自动生成系统时间函数,使用C语言中的time函数获取系统时间

    使用C语言中的time函数获取系统时间 可以通过time()函数来获得计算机系统当前的日历时间(Calendar Time),处理日期时间的函数都是以本函数的返回值为基础进行运算.其原型为: time ...

  8. c语言自动生成版本号,单片机C程序自动产生并增加版本号

    工作原理:很简单地说,运行Version.exe生成一个"version.h"头文件,文件的内容如下: #ifndef VERSION_H_INCLUDED #define VER ...

  9. mysql更新表时自动生成时间和更新时间

    背景:在操作数据库表时,需要自动记录插入,更新操作时间. 一:在建表语句加上: --设置插入自动加入时间 DEFAULT CURRENT_TIMESTAMP --设置更新自动更新时间 DEFAULT ...

最新文章

  1. Solr 使用Facet分组过程中与分词的矛盾解决办法
  2. OpenSSL 转换证书格式
  3. sscanf用法(转)
  4. Android--常驻BroadReceiver实现短信提醒
  5. SDN控制器是这样工作的
  6. 锁屏界面显示某些设置已隐藏_iOS 14 隐藏功能,只要轻点手机背面就能截屏
  7. java怎么实现有消息时显示红点_Android中的红点提示怎么统一实现?
  8. Git 拉取开发环境代码,合并到自己分支,提交自己分支
  9. 数字图像处理 色差计算
  10. 抖音autojs 云控脚本源码
  11. python调用pyd_使用python pyd时出错
  12. android bmob获取密码,Bmob后端云初体验
  13. 使用CCHttpClient进行cocos2d-x网络编程
  14. 如何使用pr的超级键效果-达到蒙版的效果
  15. JavaScript中pop() 方法
  16. 分布式数据中心节点多?看托管云如何实现精细运维
  17. 升级windows11的方法
  18. git status的用法
  19. 机器学习——NB算法(包括符号型与数值型两种)
  20. COMSOL仿真:流固耦合+自动划分网格

热门文章

  1. 密码猴机器人编程合肥店_这只猴子,带你探寻人工智能密码
  2. RT-Thread—STM32—EasyFlash
  3. 使用OpenCV和Python进行对象检测和跟踪
  4. PAT基础编程题目集 7-32 说反话-加强版
  5. 能气死古人的诗句改编
  6. freeswitch php监听,程序员罗杰-freeswitch对接asterisk压测
  7. TBS腾讯浏览器服务x5内核打开本地doc(doc docx xlsx pdf ppt)文档(官网最新43903版本SDK)
  8. 基于PaddleOCR的DBNet多分类文本检测网络之身份证识别
  9. 苹果内存不够怎么办_OPPO手机内存不够怎么办?设置这4个功能,轻松省下10G
  10. DLL简介与MFC DLL