已知1900年1月1日是星期一,写一个万年历

#include

int main()

{

    int year=0,month=0,weekday=0,sum=0;

    printf("请输入年和月:\n");

    scanf("%d %d",&year,&month);

    for(int y=1900;y

        if((y%4==0 && y%100!=0)||y%400==0){

            sum+=366;

        }else{

            sum+=365;

        }

    }

    for(int m=1;m

        if(m==2){

            if((year%4==0 && year%100!=0)||year%400==0){

                sum+=29;

            }else{

                sum+=28;

            }

        }else if(m==4||m==6||m==9||m==11){

            sum+=30;

        }else{

            sum+=31;

        }

    }

    sum+=1;

    weekday=sum%7;

    

    int count=0;

    if(month==2){

        if((year%4==0 && year%100!=0)||year%400==0){

            count=29;

        }else{

            count=28;

        }

    }else if(month==4||month==6||month==9||month==11){

        count=30;

    }else{

        count=31;

    }

    printf("\t\t\t\t\t\t\n");

    for(int i=1;i<=weekday;i++){

        printf("\t");

    }

    for(int k=1;k<=count;k++){

        if(sum%7==6){

            printf("%d\n",k);

        }else{

            printf("%d\t",k);

        }

        sum++;

    }

    printf("\n\n");

}


你可能感兴趣的:(c基础)