给出年月日,计算该日是该年的第几天

#include <stdio.h>
#include <stdlib.h>

typedef struct Date{
 int year;
 int month;
 int day;
}Date;

int main()
{
    Date date={0,0,0};
    int num=0;
    int calculate(Date date);
    printf("输入年月日\n");
    scanf("%d%d%d",&date.year,&date.month,&date.day);
    num=calculate(date);
    if((date.year%4==0&&date.year%100!=0)||(date.year%400==0))
    {
        if(date.month>2) printf("%d\n",date.day+num+1);
        else printf("%d\n",date.day+num);
    }
    else
    {
        printf("%d\n",date.day+num);
    }
    return 0;
}

int calculate(Date date)
{
    int num=0;
    switch(date.month-1)
    {
        case 1:num+=31;
        case 2:num+=28;
        case 3:num+=31;
        case 4:num+=30;
        case 5:num+=31;
        case 6:num+=30;
        case 7:num+=31;
        case 8:num+=31;
        case 9:num+=30;
        case 10:num+=31;
        case 11:num+=30;
        case 12:num+=31;
    }
    return num;
}
 

阅读更多
换一批

没有更多推荐了,返回首页