计算输入的日期是本年的第几天 星期几的函数(未优化)

/*
 * 已知1900年1月1日是星期1,求输入一个年月日 ,判断这天是 本年的第几天  星期几
 * */
#include<stdio.h>
int main()
{
    int year=0,month=0,day=0;
    int sum=0,sum1=0;
    int weekday=0;
    printf("请输入年月日");
    scanf("%d%d%d",&year,&month,&day);
    int num=1;
    int num1=1900;
    for(num=1;num<=month-1;num++)
    {
        if(num==2)
        {
            sum+=28;
        }
        else if(num==4||num==6||num==9||num==11)
        {
            sum+=30;
        }
        else
        {
            sum+=31;
        }
    }
        if(((year%4==0)&&(year%100!=0))||(year%400==0))
        {
            if(month>2)
            {
                sum+=1;
            }
        }

    for(num1=1900;num1<=year-1;num1++)
    {
        sum1+=365;
        if(((num1%4==0)&&(num1%100!=0))||(num1%400==0))
        {
        sum1+=1;
        }
    }
    weekday=(sum1+sum+day)%7;
    printf("输入的日期是本年的第%d天,星期%d\n",sum+day,weekday);
    return 0;
}

发布了22 篇原创文章 · 获赞 0 · 访问量 223

猜你喜欢

转载自blog.csdn.net/wipeout/article/details/103795976