Codeup cementerio - Problema E: Fecha acumulan

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:

Publicados 462 artículos originales · ganado elogios 55 · vistas 320 000 +

Supongo que te gusta

Origin blog.csdn.net/LY_624/article/details/88781299
Recomendado
Clasificación