65 求n天后的日期
作者:互联网
问题描述 :
写一个函数,传入年月日,计算它的第二天,并返回该日期。由用户输入年月日和一个n值,使用前述函数,计算该日期加n天的日期为多少。输入说明 :
输入year,month,day和n共4个正整数,以空格分隔。n的值不超过2000。输出说明 :
输出计算得到的结果年月日共3个正整数,整数之间以一个空格分隔,行首与行尾无多余空格。输入范例 :2000 1 1 366
输出范例 :2001 1 1
思想:先将现在的日期和经过的日期累加起来,以月为单位进行进位,每次进位判断是否是闰年,如果是,就修改2月的月份日期。
#include <stdio.h> #include <stdlib.h> int isRN(int x){ if(x%400==0||x%4==0&&x%100!=0){ return 1; }else{ return 0; } } int main() { int months[12] = {31,28,31,30,31,30,31,31,30,31,30,31}; int year,month,date; int day; scanf("%d %d %d %d",&year,&month,&date,&day); date +=day; months[1] = 29; //这里要注意 预先预期处理的2月最后一天 while(date>months[month-1]){ if(isRN(year)&&month == 2){ months[1] = 29; }else{ months[1] = 28; } date-=months[month-1]; month++; if(month>12){ month = 1; year++; } } printf("%d %d %d\n",year,month,date); return 0; }
标签:months,int,31,year,month,日期,65,天后,date 来源: https://www.cnblogs.com/End1ess/p/15971135.html