OJ 66之日期计算

来源:互联网 发布:seo常用工具 编辑:程序博客网 时间:2024/04/27 15:51






#include<cstdio>
#include<cmath>
int function(int year,int month,int day)
{
      
    int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
    int b[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
    int i,j,sum;sum=0;
    if(( year%4==0 && year%100!=0 )||(year%400==0))
    {
        for(i=0;i<month;i++)
            sum=sum+b[i];
    }
    else
    {
        for(j=0;j<month;j++)
            sum=sum+a[j];
    }
    sum=sum+day;
    return sum;
}
int main()
{
    int year,month,day;
    int sum;
    while(scanf("%d %d %d",&year,&month,&day)!=EOF)
    {
        if(month<1||month>12)
            printf("Input error!\n");
        else if((month==1||month==3||month==5||month==7||month==8||month==10||month==12)&&(day<1||day>31))
            printf("Input error!\n");
        else if((month==4||month==6||month==9||month==11)&&(day<1||day>30)) 
            printf("Input error!\n");
        else if(((year%4==0&&year%100!=0 )||(year%400==0))&&(month==2)&&(day<1||day>29))
            printf("Input error!\n");
        else if(((year%100!=0&&year%4!=0)||(year%100==0&&year%400!=0))&&(day<1||day>28))
            printf("Input error!\n");
        else
        {
            sum=function(year,month,day);
            printf("%d\n",sum);
        }
    }
    return 0;
}



区分闰年和平年
0 0