当前位置: 首页 > news >正文

C语言判断一个日期是在该年的第几天案例讲解

今天是2023年4月11号,我们就用今天举例得出是2023年的第几天。

思路分析

1)我们想知道2023年4月11号是2023年的第几天,只需要把1到3月份的天数累加求和然后加上今天日期也就是11就可以算出2023年4月11号是2023年的第几天。

推广:

要算某年的某月某日是某年的第几天,只需要把某月的前几个月的天数相加然后加上某日就可以算出某年的某月某日是某年的第几天;可以得出一个公式。

算出某年的某月某日是某年第几天公式:

sum=前(N-1)个月份的天数之和加上x,N表示某月,x表示某日。

2)每年除了2月的天数不一样外其余11个月的天数不变,我们需要判断某年是闰年还是平年,用         来确定2月的天数是28天(平年)还是29天(闰年)。

3)每年的1月,3月,5月,7月,8月,10月,12月有31天。

     每年的4月,6月,9月,11月有30天。

     闰年2月有29天,平年2月有28天。

案例代码如下

#include <stdio.h>
#define N 12
void main(){int i,j;int year,month,day;int sum=0;int arr[N]={31,0,31,30,31,30,31,31,30,31,30,31};//2月的天数不确定就先定为0printf("输入年月日,用空格隔开");scanf("%d%d%d",&year,&month,&day);if((year%4==0&&year%100!=0)||year%400==0){arr[1]=29;}//判断某年是闰年还是平年用来确定2月份的天数else{//闰年2月有29天,平年2月有28天arr[1]=28;}for(i=0;i<month-1;i++){sum+=arr[i];/*假如想知道2023年4月11号是这2023年的第几天先求出1月到3月的总天数*/}sum+=day;//1月到3月的总天数加上11就求出这一天是2023年的第几天if(arr[1]==28){printf("%d年是平年\n",year);printf("%d年%d月%d号是%d年的%d天",year,month,day,year,sum);}//打印输出2023年4月11号是2023年的第几天else{printf("%d年是闰年\n",year);printf("%d年%d月%d号是%d年的第%d天",year,month,day,year,sum);}}

代码运行结果如下

2023年4月11号:

 2008年8月8号:

 

http://www.lryc.cn/news/59784.html

相关文章:

  • 【超全总结】集成环信消息推送注意事项(华为、oppo、vivo等)
  • C++回调函数以及epoll中回调函数的使用
  • 0基础学习软件测试有哪些建议
  • MySQL数据类型
  • 【设计模式】从Mybatis源码中学习到的10种设计模式
  • 爬虫攻守道 - 猿人学第20题 - 殊途同归
  • 4.11日报
  • 【LeetCode每日一题: 1039. 多边形三角剖分的最低得分 | 暴力递归=>记忆化搜索=>动态规划 | 区间dp 】
  • Okio 网络提速
  • 自动驾驶企业面临哪些数据安全挑战?
  • Doris(2):Doris编译部署
  • 使用MyBatis实现简单查询
  • C指针(*point)[4]和char *point[4]
  • 【Bard】谷歌的人工智能工具—Bard初体验
  • 2022国赛30:windows脚本题解析
  • Excel常用函数公式20例
  • 233:vue+openlayers绘制渐变填充色的圆形、多边形
  • Flink的窗口机制
  • 了解分布式Session
  • 仿真创新大赛—国三省一 智能鱼缸(proteus)(stm32)
  • 【ARMv8 编程】A64 数据处理指令——位域字节操作指令
  • ctfshow 愚人杯菜狗杯部分题目(flasksession伪造ssti)
  • linux拓展笔记——【补充学习知识点】
  • 为何银行各岗位之间的薪酬差别如此之大?
  • TensorFlow 深度学习第二版:1~5
  • 微前端micro-app的使用
  • 【JUC】Java内存模型之JMM
  • Win11快速打开便签和使用技巧分享
  • CSS:横向导航栏
  • 视频动态库测试及心得