5 银行存款到期日

问题描述 :

银行存款有3个月、6个月定期等。从键盘输入一个日期(即为存款日期)以及定期的时间长度(单位为月,输入的时间长度可为小于等于60的任意正整数),请编程输出该定期存款的到期日期。 下面以3个月定期为例,说明定期的概念。

比如:

输入2014年4月30日,则到期日是2014年7月30日;

输入2014年3月31日,则到期日是2014年6月30日(6月没有31日,所以30日就到期);

输入2014年11月30日,则到期日是2015年2月28日;

输入2015年11月30日,则到期日是2016年2月29日。

输入说明 :

共输入4个整数,中间以空格分隔,第一个整数表示年,第二个整数表示月,第三个整数表示日,第四个整数表示定期长度(单位为月)。

输出说明 :

输出到期日期,共输出三个整数,中间以一个空格分隔,行首与行尾均无空格。

输入范例 :

2014 4 30 3

输出范例 :

2014 7 30

c源码:

#include<stdio.h>
int main()
{
  int y,m,r,d,y1,m1,r1;
  scanf("%d%d%d%d",&y,&m,&r,&d);
  
  if(m<=12&&r<=31&&d<=60)
  {m1=m+d;
   	y1=y;
	  while(m1>12)
  {
       m1=m1-12;
	   y1=y1+1;
  }
  if(r<=28||r>28&&r<=30&&m1!=2)
	  r1=r;
  else
  {  
      switch(m1)
  {
  case 1:r1=31; break;
  case 2:if(y1%4==0&&y1%100!=0||y1%400==0)
			 r1=29;else r1=28;break;
  case 3:r1=31;break;
  case 4:r1=30;; break;
  case 5:r1=31;break;
  case 6:r1=30;break;
  case 7:r1=31;break;
  case 8:r1=31;break;
  case 9:r1=30;break;
  case 10:r1=31;break;
  case 11:r1=30;break;
  case 12:r1=31;break;
  }
  }
printf("%d %d %d",y1,m1,r1);
  }
	return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值