进阶5 银行存款到期日

5 银行存款到期日

作者: Turbo时间限制: 1S章节: 分支结构

问题描述 :

银行存款有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

#include<stdio.h>  
int main(){
    int year,month,day,time;
	scanf("%d%d%d%d",&year,&month,&day,&time);
	if(month+time>12) {
		 month=month+time-12;
		 year+=1;
		 while(month>12)
		 {
			 month=month-12;
		     year+=1;
		 }
	}else month=month+time;
		 switch(month){
			   case 2:
				   if(day>28){
				     if((year%4==0&&year%100!=0)||year%400==0) day=29;
					  else day=28;break;
				   }else break;
			   case 4:
			   case 6:
			   case 9:
			   case 11:if(day>30) day=30;
			   default: break;
		   }
    printf("%d %d %d",
		year,month,day);
	return 0;
}
发布了146 篇原创文章 · 获赞 1 · 访问量 517

猜你喜欢

转载自blog.csdn.net/qq_39338091/article/details/105719743