满意答案

//没有处理输入数据为公元前某天的情况,可循环输入,结束程序按ctrl+z确认即可

#include

#include #define lev(n) (n % 4 == 0 && (n % 100 != 0 || n % 400 == 0))//闰年则为1,非闰年则为0int main(void)

{

int y, m, d, l, i, s, flag;

int month[2][13] = {

{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},

{0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}

};    while (scanf("%d/%d/%d", &y, &m, &d) != EOF)

{

if(y<1||y>=2000||m<1||m>12||d<1) {

//由于公元纪年的起点是公元1年,而没有“公元0年”,也没有包括2000年1月1日这一天

printf("输入不在1年1月1日到2000年1月1日之间,请重新输入!\n");

continue;

}

l = lev(y);

for (s = 0, i = 1 ; i < m ; i++)

s += month[l][i];

if(d > month[l][m])

{

printf("输入的日期超出月份所拥有的范围,请重新输入!\n");

continue;

}

else s += d;//表示该日期是该年的第几天

if(l)s = 366 - s;

else s = 365 - s;

flag = 2000 - y - 1;

if(flag==0)s = s;

else if(flag<400)s = (flag/4)*366 - flag/100 + (flag-flag/4)*365 + s;

else if(flag<800)s = (flag/4)*366 - flag/100 + 1 + (flag-flag/4)*365 + s;

else if(flag<1200)s = (flag/4)*366 - flag/100 + 2 + (flag-flag/4)*365 + s;

else if(flag<1600)s = (flag/4)*366 - flag/100 + 3 + (flag-flag/4)*365 + s;

else s = (flag/4)*366 - flag/100 + 4 + (flag-flag/4)*365 + s;

printf("%d年%d月%d日到2000年1月1日之间的间隔天数为%d\n", y, m, d, s);

}    return 0;

}

03分享举报

c语言1月到12月,C语言程序 任意给出一个日期(年、月、日),计算此时间到2000年1月1日之间的间隔天数...相关推荐

  1. 用java语言实现2020年1月1号到2022年7月3号之间的间隔天数

    用java语言实现2020年1月1号到2022年7月3号之间的间隔天数 1.思路 1.算出2020年1月1号到2021年12月31号之间的间隔天数sumYear 2.算出2022年1月1号到2022年 ...

  2. 有红、黄、绿三种颜色的球,其中红球 3 个, 黄球 3 个,绿球 6 个。先将这 12 个球混合放在一个盒子中,从中任意摸出 8 个球,编程计算摸出球的各种颜色搭配。1. 输出情况总数;2.输出摸取情

    内容1:有红.黄.绿三种颜色的球,其中红球 3 个, 黄球 3 个,绿球 6 个.先将这 12 个球混合放在一个盒子中,从中任意摸出 8 个球,编程计算摸出球的各种颜色搭配.1. 输出情况总数;2.输 ...

  3. mysql计算1000天后的日期_mysql,数据库_mysql 计算某个时间,多少天后,多少个月后时间戳,mysql,数据库,数据库设计 - phpStudy...

    mysql 计算某个时间,多少天后,多少个月后时间戳 id start_time period_ytpe period_value 1 1461427200 day 3 2 1461427200 mo ...

  4. java编写程序_对输入的年月日_给出该天是该年的第多少天?_编写Java程序。当以年月日的格式输入一个日期时,输出该年是否是闰年,该月有几天,该日是星期几...

    满意答案 控制不住的愤怒 2017.12.20 采纳率:59%    等级:9 已帮助:414人 public static void main(String[] args) throws Parse ...

  5. mysql计算多少天后的日期_数据库 - mysql 计算某个时间,多少天后,多少个月后时间戳...

    数据库设计(一): 数据库设计步骤:  需求分析-------->  逻辑设计 ------------> 物理设计----------->维护优化. [1]需求分析:分析需要存储的 ...

  6. ios时间相差多少天_iOS 计算某个时间到现在是多少月/天/时

    直接上代码,传入一个NSString类型的日期 格式如newsDate = @"2013-08-09 17:01"; 或者newsDate = @"2013/08/09 ...

  7. 编写一个js函数,实时显示当前时间,格式:“年-月-日 时:分:秒”

    第一种: window.onload = function(){ var show = document.getElementById('show'); // setInterval(function ...

  8. c语言输入1到12月份,C语言高手请进下面是一个日历表,运行结果中能不能把1~12月份改 爱问知识人...

    下面是一个日历表,运行结果中能不能把1~12月份改为英文的?要怎样改啊,谢谢!#include#includemain(){int i=0,m=0,k,j,n=0,l,first;int x[3]={ ...

  9. c语言学习-利用函数指针的方法,求任意给出两个整数的x和y的和、差。

    编写一个程序,利用函数指针的方法,求任意给出两个整数的x和y的和.差. 程序流程图: 代码: #include<stdio.h> void main() {int x,y,*m=& ...

  10. python求二维数组的鞍点_C语言程序,找出一个二维数组的鞍点。

    什么是鞍点????? 鞍点就是在一个二维数组中,某一个数在该行中最大,然而其在该列中又是最小的数,这样的数称为鞍点. 昨天突然在书上看到这样的一道题,就自己尝试着写了一个找出一个二维数组中的鞍点. 好 ...

最新文章

  1. python3下载教程-Python3完全零基础入门精讲 全套视频教程
  2. java实现三位数加减乘除_用Java位运算实现加减乘除四则运算
  3. 六十六、实现Vue项目首页轮播图(vue-awesome-swiper)
  4. Mac及Xcode常用快捷键
  5. Vue(二十八)el-cascader 动态加载 - 省市区组件
  6. 计算机图形标定学,计算机图形学(璩柏青)第10章空间形体的三维重建与图像处理.ppt...
  7. abd shell关闭所有程序_一个 Shell 脚本逆袭的规范,拿走不谢
  8. ae中心点重置工具_AE中图形绘制的6大技巧,简单易操作
  9. 最简易上手的numpy学习笔记三
  10. Spring框架 DI
  11. Java 使用poi导入excel,结合xml文件进行数据验证的例子(增加了jar包)
  12. 力扣24,两两交换链表中的节点(javascript)
  13. go http 并发数限制_618临近,Redis优化高并发下的抢枪抢买买买性能
  14. java 并发集合_《Java 7并发编程实战手册》第六章并发集合
  15. ORA-01157、01110问题解决
  16. Atitit 集合分组聚合操作sum count avg java版本groovy版本 目录 1. //按性别统计用户数 1 7. //按性别获取用户名称 1 16. //按性别求年龄的总和 1 2
  17. 2022网络工程师必看好书(最新整理,附PDF下载)
  18. javaJSON字符串转换实体类
  19. 单个dcm文件含有多帧数据,如何拆分成多个dcm文件
  20. 【食安云桥】python 文件内批量长度除以3.5替换

热门文章

  1. 2017年第1季度IT互联网市场报告
  2. 程序员租房妙招,爬一个好房
  3. 【模拟】咕咕东的目录管理器
  4. 计算机专业考研390分是什么水平,考研390分是什么水平
  5. 信息管理与计算机基础,南京大学985信息管理与计算机基础考研复习经验
  6. 学习uni-app的心得体会
  7. cesium.js高度计算同步方法,cesium.js根据经纬度计算高度同步方法。官方提供的都是异步的方法有点坑,这个是我自己写的同步计算高度。
  8. 虚拟化三剑客专题-XenServer(上)
  9. Luogu 2467[SDOI2010]地精部落 - DP
  10. Understanding actions:理解动作(Action)