título Descripción
Diseñar un programa puede calcular una fecha más el número de días en qué fecha.
entrada
De entrada de la primera línea indica el número de muestras M, M siguiente cuatro líneas representan cada uno un número entero de fecha y el número de días acumulados.
exportación
M líneas de salida, cada salida de acuerdo con el número de aaaa-mm-dd.
entrada de la muestra
1 2 008 2 3 100
Ejemplo de salida
2008-05-13
#include <stdio.h>
int month[13][2]= {{0,0},{31,31},{28,29},{31,31},{30,30},{31,31},{30,30},{31,31},{31,31},{30,30},{31,31},{30,30},{31,31}};
int isLeapyear(int year) //判断是否是闰年
{
if((year%4==0&&year%100!=0)||(year%400==0))
return 1;
else
return 0;
}
int main()
{
//month存储天数,一维代表平年,二维代表闰年
int n,y,m,d,t;
scanf("%d",&n);
for(int i=0; i<n; i++)
{
scanf("%d %d %d %d",&y,&m,&d,&t); //输入数据
while(t--)
{
d++; //日期加1
if(d==month[m][isLeapyear(y)]+1) //判断是否满月
{
m++;
d=1;
}
if(m==13) //判断是否满年
{
y++;
m=1;
}
}
printf("%d-%02d-%02d\n",y,m,d);
}
return 0;
}
El resultado: