http://blog.sina.com.cn/s/blog_6be3556a0101g87u.html

方法一:

---------------------------------------------------------------

#include

#include

struct Date

{

int year;

int month;

int day;

};

int leap(int year)

{

if(year%4==0&&year0!=0 || year@0==0)

return 1;

else return 0;

}

int days(int year ,int month)

{

if(leap(year)&&month==2)

return 29;

if(month==2)

return 28;

if(month==4 || month==6 || month==9 || month==11)

return 30;

return 31;

}

struct Date nextDay(struct Date d)

{

if(d.day==days(d.year,d.month))

{

d.day = 1;

d.month=(d.month)+1;

if(d.month==1) d.year++;

}

else d.day++;

return d;

}

struct Date nextNDay(struct Date d,int n)

{

while(n--)

{

d = nextDay(d);

}

return d;

}

void output(struct Date x)

{

printf("%d-d-d\n",x.year,x.month,x.day);

}

int main()

{

struct Date x,y,z;

printf("请输入一个日期,年 月 日:\n");

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

printf("当前输入的日期是:\n");

output(x);

y = nextDay(x);

printf("它的下一天是:\n");

output(y);

int n;

printf("请输入一段时间>(天):");

scanf("%d",&n);

z = nextNDay(x,n);

output(z);

return 0;

}

---------------------------------------------------------------

方法二:

---------------------------------------------------------------

#include

#include

struct date

{

int year;         //定义天

int month;         //定义月

int day;         //定义天

};

struct date next_day(struct date in);      //声明计算下一天的函数

struct date nextN_day(struct date in, int x);     //声明计算N天后日期的函数

void print(struct date in);         //声明输入日期的函数

int leap(int x);           //声明闰年判断的函数

int main()

{

struct date d;

struct date r;

struct date r1;

int n;

int i;

printf("请输入一个 年 月 日:\n");

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

printf("您输入的日期是:\n");

print(d);

printf("它的下一天是:\n");

r = next_day(d);           //计算下一天日期

print(r);

printf("请输入一个时间长度>(天):");

scanf("%d",&n);            //接收天数n

printf("经过%d天是:\n",n);

r1 = nextN_day(d,n);           //计算n天后的日期

print(r1);

return 0;

}

int leap(int x)

{

if(x%4 == 0 && x0 != 0 || x@0 == 0)     //定义函数判断是否为闰年

return 1;            //闰年返回1

else

return 0;            //平年返回0

}

struct date next_day(struct date in)

{

int m_day;             //定义m_day记录每月天数

struct date r;

switch(in.month)

{

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12: m_day = 31; break;

case 2: {

if(leap(in.year)) m_day = 29;

else m_day = 28;

}

break;            //二月分别按闰年平年计算

case 4:

case 6:

case 9:

case 11: m_day = 30; break;         //确定每一个月的天数

}

if(in.day+1 <= m_day)

{

r.year = in.year;

r.month = in.month;

r.day = in.day+1;           //如果输入的日期加1不最后一天,那么日期加1

}

if(in.day+1 > m_day && in.month != 12)

{

r.year = in.year;

r.month = in.month+1;

r.day = 1;              //如果输入的日期是当月最后一天,而且不是12月,则月份加1,日置为1

}

if(in.month == 12 && in.day == 31)

{

r.year = in.year+1;

r.month = 1;

r.day = 1;             //如果输入日期是当年最后一天,则年数加1,月和日置为1

}

return r;

}

struct date nextN_day(struct date in, int x)

{

struct date re = in;

while(x--)

{

re = next_day(re);           //通过计算x次下一天的下一天,而最终返回x天后的时间值

}

return re;

}

void print(struct date in)

{

printf("%d-d-d\n",in.year,in.month,in.day);    //定义时间输出格式控制函数

}

后N天C语言,c语言计算一个日期的下一天后N天后的日期相关推荐

  1. c语言标准差怎么计算,一个关于文段统计的问题,怎么在运行过程中计算标准差?...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 $ ./analyse_text Enter your text: Iconic United States attractions The Statue ...

  2. c语言调用函数计算分段函数值,输入x,计算并输出下列分段函数f(x)的值(保留2位小数) c语言...

    计算分段函数输入 x ,计算并输出 y 的值.公式如下 当x >= 0时,f(x) = x^0.5,当x小于0时,f(x #include#include//[1{intmain()//你所写的 ...

  3. C语言求x和y的乘积,计算方程式,求x,C语言中怎么计算x,y的值?

    导航:网站首页 > 计算方程式,求x,C语言中怎么计算x,y的值? 计算方程式,求x,C语言中怎么计算x,y的值? 匿名网友: (x-1)=0吧,写题也这么不仔细呀. 哈哈m/x=n/(x-1) ...

  4. c语言程序设计常用思维,C语言程序设计中计算思维的思考①

    王鑫 李万军 摘   要:计算思维是运用计算机科学的基础概念去求解问题.设计系统和理解人类的行为.本文归纳了计算思维在C语言程序设计中的体现,可归纳为抽象计算思维.自动化计算思维和并行计算思维三种.针 ...

  5. R语言的导数计算(转)

    转自:http://blog.fens.me/r-math-derivative/ 前言 高等数学是每个大学生都要学习的一门数学基础课,同时也可能是考完试后最容易忘记的一门知识. 我在学习高数的时候绞 ...

  6. r语言 求几个数的最小公倍数_一课研究之“最小公倍数教学后学生知识技能情况分析”(20190417)...

    1向你介绍我是谁 大家好,我是忻菁,来自杭州市崇文实验学校,是朱乐平名师工作站"一课研究"团队第十七组组员,很高兴能在"一课研究"微信平台上与您相遇! 2 本期 ...

  7. c语言sizeof怎么计算字节数,理解c语言的sizeof

    c语言有很多用起来需要特别注意的地方,我们(计算机学习微信公众号:jsj_xx)以后会分析其中有使用价值的点.今天我们一起看看sizeof.c语言通过类型长度来达到指针的灵活性,我们觉得,某种意义上讲 ...

  8. C语言编写程序计算运费:f=p*w*s*(1-d)。(用switch语句实现)

    C语言编写程序计算运费:f=pws*(1-d).(用switch语句实现) s<250km 没有折扣 250<=s<500 2%折扣 500<=s<1000 5%折扣 1 ...

  9. Java语言程序设计(一)计算题

    1.观察下面的程序片断,指出其中的父类和子类,以及父类和子类的各个域和方 法. class SuperClass {int data; voidsetData(intnewData) {data=ne ...

最新文章

  1. 测试驱动开发 测试前移_测试驱动开发简介
  2. 使用POI创建word表格-在表格单元格中创建子表格
  3. 信息革命的新世界正在到来,连睡觉都觉得浪费
  4. 购物小票 FoundPrice.java
  5. SSM框架中使用Spring的@Transactional注解进行事务管理
  6. 关于计算机组成的ppt,计算机组成课件.ppt
  7. AUTOSAR从入门到精通100讲(十五)-AURIX TC3xx MCAL中Link文件解析以及代码变量定位方法详解
  8. Linux Ubuntu 安装Tomcat 7,亲测有效
  9. python 获取macd数据_如何通过MACD函数获取MACD的5分钟对应值
  10. php系统主题,第8章 drupal主题系统
  11. 边境的悍匪—机器学习实战:第十章 Keras人工神经网络简介
  12. 仿朋友圈页面(超小白)
  13. C语言 | 位域的使用详解
  14. 安卓(调试)有线投屏、wifi投屏到电脑笔记
  15. 12道Java高级面试题:java时间差计算
  16. 在discuz论坛增加背景音乐代码
  17. 奥巴马就海地发生强烈地震发表讲话中英文对照
  18. linux脚本一般放在哪个目录下,Linux Deepin 将脚本放在个人目录下直接执行
  19. iphone4 黑机刷6.1.2,保基带激活越狱教程(转)
  20. 关于No property 属性名 found for type 类名!的问题及解决方式之一

热门文章

  1. 用java如何画动物_用画小狗的方法来解释Java值传递
  2. 讲座笔记 | 陆铭 城市、区域和国家发展:空间政治经济学的理论和实证研究
  3. g77、gfortran、gcc的区别与联系
  4. 【格言精选】影视剧情大俗套——你注意到多少
  5. 曾诗斯老师商务礼仪实战专家
  6. 华为社会招聘面试流程
  7. 微信公众号官方API开发之配置服务器
  8. 互联网快讯:猿辅导推品牌“飞象星球”入局TO B市场;京东云首次发布物联网全景图;苹果更新App Store规则
  9. 国产8K摄像机记录中国航展的飞速发展
  10. Java QQ群成员资料