C 语言经典100例-004

输入某年某月某日,判断这一天是这一年的第几天?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <stdio.h>
int main()
{
    int year, month, day, i, sum=0;
    int md[] = {31,28,31,30,31,30,31,31,30,31,30,31};
    printf("Please enter:year= ,month= ,day= \n");
    scanf("year=%d,month=%d,day=%d", &year, &month, &day);
    if(month <= 2)
    {
        if(month <= 1)
        {
            sum = day;
        }
        else
        {
            sum = md[0] + day;
        }
    }
    else
    {
        for(i=0; i<(month-1); i++)
        {
            sum += md[i];
        }
        sum += day;
        if(((year%4==0)&&(year%100!=0)) || (year%400==0))
        {
            sum++;
        }
    }
    printf("It's the %d day of this year.\n", sum);
    return 0;
}