53 求n天后的日期
作者: Turbo时间限制: 2S章节: 函数
问题描述 :
写一个函数,传入年月日,计算它的第二天,并返回该日期。由用户输入年月日和一个n值,使用前述函数,计算该日期加n天的日期为多少。
输入说明 :
输入year,month,day和n共4个正整数,以空格分隔。n的值不超过2000。
输出说明 :
输出计算得到的结果年月日共3个正整数,整数之间以一个空格分隔,行首与行尾无多余空格。
输入范例 :
2000 1 1 366
输出范例 :
2001 1 1
解答思路:
基础题,就不按题目要求用函数了。
AC代码
#include <stdio.h>
#include <math.h>
#include <string.h>
int day[2][12]={31,28,31,30,31,30,31,31,30,31,30,31,31,29,31,30,31,30,31,31,30,31,30,31};
int isrun(int y)
{
if(y%4!=0)
{
return 0;
}
else
{
if(y%100==0&&y%400!=0)
{
return 0;
}
else
{
return 1;
}
}
}
int main()
{
int y,m,d,n;
while(~scanf("%d %d %d %d",&y,&m,&d,&n))
{
while(n--)
{
d++;
if(d>day[isrun(y)][m-1])
{
m++;
d=1;
}
if(m==13)
{
y++;
m=1;
}
}
printf("%d %d %d\n",y,m,d);
}
}